UDP程式設計模型

2021-07-24 18:32:16 字數 1728 閱讀 1298

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...