UDP協議的WinSock API程式設計示例

2021-04-09 03:20:37 字數 1310 閱讀 9320

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相比於上述介...