udp程式設計模型
基於udp伺服器
1) 建立乙個socket,用函式socket()
2) 繫結ip位址、埠等資訊到socket上,用函式bind()
3) 迴圈接收資料,用函式recvfrom()
4) 關閉網路連線
基於udp客戶端
1) 建立乙個socket,用函式socket()
2) 繫結ip位址、埠等資訊到socket上,用函式bind()
3) 設定對方的ip位址和埠等屬性
4) 傳送資料,用函式sendto()
5) 關閉網路連線
例項:udp_server.c
#include #include #include #include #include #include #include #define port 3333
int main()
bzero(&server_addr, sizeof(struct sockaddr_in));
server_addr.sin_family = af_inet;
server_addr.sin_addr.s_addr = htonl(inaddr_any);
server_addr.sin_port = htons(port);
if(bind(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)
if((recvbytes = recvfrom(sockfd, buf, 512, 0, (struct sockaddr *)&client_addr, &addrinlen)) < 0)
buf[recvbytes] = '\0';
printf("buf is %s\n", buf);
close(sockfd);
return 0;
}
udp_client.c
#include #include #include #include #include #include #include #define port 3333
int main()
bzero(&server_addr, sizeof(struct sockaddr_in));
server_addr.sin_family = af_inet;
//server_addr.sin_addr.s_addr = inet_addr("192.168.1.222");
server_addr.sin_addr.s_addr = htonl(inaddr_any);
server_addr.sin_port = htons(port);
//while(1)
////}
close(sockfd);
return 0;
}
執行結果:
網路程式設計 C S模型 UDP
目錄 一 udp模型 1 服務端 2 客戶端 二 測試程式 1 服務端 2 客戶端 沒有 accept,不需要建立建立連線 使用 recvfrom 代替 read,失敗返回 1,成功返回 從核心緩衝區讀到的位元組數 使用 sendto 代替 write,失敗返回 1,成功返回 寫到核心緩衝區的位元組...
傳輸層TCP和UDP程式設計模型
最近接觸了基於這個程式設計模型的程式設計,基礎程式設計再次熟悉了一下 一 tcp程式設計 伺服器端 1 建立serversocket物件,繫結埠 2 通過accept 監聽客戶端請求 3 建立連線後,通過輸入輸出流進行讀寫操作 4 關閉相關資源 客戶端 1 建立socket物件,指定服務端的位址和埠...
UDP程式設計
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...