server 端:
word wversion;
wsadata wsadata;
sockaddr_in server_addr,client_addr;
char buff[1024];
wversion=makeword(2,2);
if (wsastartup(wversion,&wsadata)!=0)
socket server=socket(af_inet,sock_dgram,0);
if (server==invalid_socket)
server_addr.sin_family=af_inet;
server_addr.sin_port=htons(5000);
server_addr.sin_addr.s_un.s_addr=inaddr_any;
bind(server,(sockaddr*)&server_addr,sizeof(server_addr));
int ilen=sizeof(client_addr);
while (1)
closesocket(server);
wsacleanup();
client 端:
word wversion=0x0202;
wsadata wsadata;
sockaddr_in server_addr;
server_addr.sin_addr.s_un.s_addr=inet_addr("192.168.1.97");
server_addr.sin_family=af_inet;
server_addr.sin_port=htons(5000);
char buff[1024];
int ilen=sizeof(server_addr);
if (wsastartup(wversion,&wsadata)!=0)
socket client=socket(af_inet,sock_dgram,0);
if (client==invalid_socket)
strcpy(buff,"i am a client!/n");
sendto(client,buff,sizeof(buff),0,(sockaddr*)&server_addr,ilen);
recvfrom(client,buff,sizeof(buff),0,(sockaddr*)&server_addr,&ilen);
printf("server said: %s",buff);
closesocket(client);
wsacleanup();
TCP協議 UDP協議
tcp是面向連線的傳輸層的協議,它在程序互動時,會建立一個連結,然後在傳輸資料之後會取消連線,tcp的連結是虛連線。每一條tcp連線只能有兩個端點,只能是點對點的資料連結,不能進行廣播。tcp提供可靠的按時交付的 無差錯的 不重複的 按序到達的服務 可靠有序 不丟不重 tcp提供全雙工通訊 傳送快取...
UDP協議與UDP通訊
1 udp協議 udp是無連線通訊協議,即在資料傳輸時,資料的傳送端和接收端不建立邏輯連線。簡單來說,當一臺計算機向另外一臺計算機傳送資料時,傳送端不會確認接收端是否存在,就會發出資料,同樣接收端在收到資料時,也不會向傳送端反饋是否收到資料。但是在使用udp協議傳送資料時,由於udp的面向無連線性,...
UDP協議的用途
目前我們用的大多數應用層的協議都是基於tcp的,例如 telent,ftp,http,https,smtp.很少有基於udpy協議的應用層的協議。那麼udp協議到底有什麼作用呢?首先我們比較下tcp與udp協議的差別 1 連線與無連線 tcp是面向連線的,udp是面向無連線的。因此導致tcp更適合於...
UDP協議的解析
1 udp協議格式 欄位資訊 16位埠號 16位目的埠號 16位資料包長度 16位校驗和 16位源埠 目的埠 實現端與端之家的資料傳輸 資料從哪個程序來,要到哪個程序去 16位校驗和 檢驗接收的資料和傳送的資料是否一致 16位資料包長度 udp資料包的總長度 包含udp頭部資訊在內 2 udp協議的...
可靠的UDP協議 QUIC協議
quic是一種新的傳輸 方式,與tcp相比可以減少延遲。表面上,quic與在udp上實現 的tcp tls http 2非常相似。由於tcp是在作業系統核心和中介軟體韌體中實現的,所以對tcp進行重大改變幾乎是不可能的。但是,由於quic是建立在udp之上的,所以沒有這樣的限制。quic相比於上述介...