#include
#pragma comment(lib,"wsock32.lib")
server:
//初始化環境
wsadata wd = ;
int nstart = wsastartup(makeword(sock_ver,0),&wd)
if(0 != nstart)
if(2 != lobyte(wd.wversion))
//建立socket套接字
g_sock = socket(af_inet,sock_dgram,ipproto_udp);
if(invalid_socket == g_sock)
printf("socket 建立成功\n");
//繫結
sockaddr_in addr = ;
addr.sin_family = af_inet;
addr.sin_port = htons(point);//point為int型別的埠號
addr.sin_addr.s_addr = inet_addr(ip);//ip為char *型別的ip位址
int bind = bind(g_sock,(sockaddr *)&addr,sizeof(addr));
if(0!=bind)
int nlen = sizeof(addr);
getsockname(g_sock,(sockaddr *)&addr,&nlen);
printf("socket 繫結埠:%d成功,等待資料...\n",ntohs(addr.sin_port));
//接收資料
sockaddr_in saclient= ;
int nfromlen = sizeof(saclient);
char szbuff[1024] = ;
if(recvfrom(g_sock,szbuff,1024,0,(sockaddr *)&sockclient,&nfromlen))
//關閉套接字
closesocket(g_sock);
wsaclenup();//清理環境
UDP實現可靠傳輸
如何讓udp實現可靠傳輸 自定義通訊協議,在應用層定義一些可靠的協議,比如檢測包的順序,重複包等問題,如果沒有收到對方的ack,重新發包 udp沒有delievery garuantee,也沒有順序保證,所以如果你要求你的資料傳送與接受既要高效,又要保證有序,收包確認等,你就需要在udp協議上構建自...
UDP實現廣播傳輸
在生活中 廣播無處不在 如大街上上叫賣的商人,但是在網路中廣播是什麼樣子的呢?網路上的廣播指 由一台主機向該主機所在子網內 同乙個區域網 的所有主機傳送資料的方式。如下圖的 1 號主機廣播給 2 3 4 5 號主機傳送資料 實現廣播,離不開廣播位址,同乙個子網 區域網 的所有主機網絡卡都會接收所在網...
UDP協議及UDP實現可靠傳輸
udp基於傳輸層 16位 2位元組 16位 2位元組 16位 2位元組 16位 2位元組 udp源埠號 udp目的埠號 udp長度 udp檢驗和資料 udp的傳輸過程類似於寄信 什麼時面向資料報 應用層交給udp多長的報文,udp原樣傳送,既不會拆分,也不會合併 老實巴交的 用udp傳輸100個位元...