udp執行模式如圖:
程式執行效果如下:
服務端:
客戶端:
服務端原碼:
#include #include #include #include #include #include #include /*
繫結套接字後,一直處於recvfrom阻塞狀態, 直到有客戶端連線
輸入 讀取eof後關閉伺服器 */
#define port 3333
void main()
printf("套接字建立成功\n\r");
/******************清空位址結構**************/
memset(&s_addr,0,sizeof(struct sockaddr_in));
/*****************設定埠和位址資訊***********/
s_addr.sin_family = af_inet;
s_addr.sin_port = htons(port);
s_addr.sin_addr.s_addr = htonl(inaddr_any);
/***************繫結位址和埠***********/
if(bind(sockfd,(struct sockaddr*)&s_addr,sizeof(s_addr)) < 0)
printf("繫結位址成功\n\r");
/***************迴圈接收資料************/
addr_len =sizeof(c_addr);
while(1)else
//eof,斷開連線
if(strncmp(buff,"eof",3) == 0)
/********************sendto用於傳送資料請求****************/
//引數:
// sockfd:套接字
// buf:傳送資料緩衝區
// nbytes:傳送資料緩衝區的大小
// flags:一般為0
// addrlen:to所指向內容的長度
//返回值:成功:傳送的字元數;失敗: -1
printf("\n請輸入:");
fflush(stdout);
scanf("%s",buff);
len = sendto(sockfd,buff,sizeof(buff)+1,0,(struct sockaddr*)&c_addr,addr_len);
if(len < 0)else
printf("傳送成功\n");
//eof,斷開連線
if(strncmp(buff,"eof",3) == 0)
}//while
close(sockfd);
printf("程式結束\n");
return;
}
客戶端原碼:
#include #include #include #include #include #include #include /*
連線到伺服器後,會不停迴圈,等待輸入,
輸入 讀取eof後斷開連線並關閉客戶端*/
#define port 3333
void main()
printf("套接字建立成功\n\r");
/******************清空位址結構**************/
memset(&s_addr,0,sizeof(struct sockaddr_in));
/**************設定伺服器端口和位址資訊***********/
s_addr.sin_family = af_inet;
s_addr.sin_port = htons(port);
s_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
/***************迴圈接收資料************/
addr_len =sizeof(s_addr);
while(1)else
printf("傳送成功\n");
//eof,斷開連線
if(strncmp(buff,"eof",3) == 0)
/********************recvfrom接收資料*********************/
len = recvfrom(sockfd,buff,sizeof(buff)-1,0,(struct sockaddr*)&s_addr,&addr_len);
if(len < 0)else
//eof,斷開連線
if(strncmp(buff,"eof",3) == 0)
}close(sockfd);
printf("程式結束\n");
return;
}
UDP網路程式設計
基於udp 伺服器 程式步驟 1.建立乙個socket,用socket 函式 2.繫結ip位址 埠等資訊到socket上,用函式bind 3.迴圈接收資料,用recvfrom 4.關閉網路連線。基於udp 客戶端 程式步驟 1.建立乙個socket,用socket 函式 2.繫結ip位址 埠等資訊到...
UDP網路程式設計
基於udp 通訊模型 由上圖可以看出udp通訊的步驟如下 基於udp 伺服器 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 迴圈接收資料,用函式recvfrom 4 關閉網路連線 基於udp 客戶端 1 建立乙個socket,用函式so...
網路程式設計 UDP
網路程式設計傳輸層選擇乙個資料控制模式 tcp或者udp,前面我們已經介紹了tcp程式設計,這篇我們簡單的來看看udp程式設計。udp是無連線的不可靠的資料報服務。udp協議在ip協議上增加了復用 分用和差錯檢測功能。udp的特點 a 是無連線的。相比於tcp協議,udp協議在傳送資料前不需要建立連...