1、目的:根據udp程式設計模式
,編寫乙個可以進行通訊的程序。
2、編寫檔案主要包括:
3、各個檔案詳細**如下:
公共標頭檔案:utili.h
#include#include#include#include#include#define buffer_max_size 256
char sendbuf[buffer_max_size];
char recvbuf[buffer_max_size];
#define listen_port 8080
#define listen_ip "127.0.0.1"
#define listen_backlog 5
int socket(int domain, int type, int protocol)
return fd;
}int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
return ret;
}
伺服器程序**:ser.c
#include "utili.h"
int main(int argc, char *ar**)
struct sockaddr_in addrser;
addrser.sin_family = af_inet;
addrser.sin_port = htons(7070);
addrser.sin_addr.s_addr = inaddr_any;
socklen_t addrlen = sizeof(struct sockaddr);
bind(sockser, (struct sockaddr*)&addrser, addrlen);
struct sockaddr_in addrcli;
while(1)
close(sockser);
return 0;
}
客戶端**:cli.c
#include "utili.h"
int main()
struct sockaddr_in addrser;
addrser.sin_family = af_inet;
addrser.sin_port = htons(7070);
addrser.sin_addr.s_addr = inet_addr("127.0.0.1");
socklen_t addrlen = sizeof(struct sockaddr);
while(1)
close(sockcli);
return 0;
}
makefile**:
all:ser cli
ser:ser.c
gcc -o ser ser.c
cli:cli.c
gcc -o cli cli.c
.phony:clean
clean:
rm ser cli
4、make:生成檔案ser和cli
5、分別執行ser和cli進行通訊(借助putty):
伺服器:
客戶端:
UDP之Socket程式設計
建立服務端socket物件 datagramsocket datagramsocket server newdatagramsocket 12331 建立接受資料報的容器 byte bytes newbyte 1024 datagrampacket packet newdatagrampacket ...
socket網路程式設計學習之tcp與udp
不管你採用的是哪種位址家族,都有兩種不同風格的套接字連線。第一種是面向連線的 這意味著在進行通訊之前必須先建立乙個連線,例如,使用 系統給乙個朋友打 這 種型別的通訊也稱為虛擬電路或流套接字。48 第 1 部分 通用應用主題 面向連線的通訊提供序列化的 可靠的和不重複的資料交付,而沒有記錄邊界。這基...
基於UDP的socket程式設計
轉貼自 udpsocket sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於udp的socket程式設計是採用的資料報套接字。在這個程式中,將兩個工程新增到乙個工作區。同時還要鏈結乙個ws2 32.li...