UDP伺服器的簡單實現

2021-08-20 05:02:31 字數 1443 閱讀 7976

伺服器端:

#include 

#include

#include

#include

#include

#include

#define err_exit(m) \

do\ while(0)

int main(int argc, char* argv)

int sock = socket(af_inet, sock_dgram, 0);

if(sock < 0)

err_exit("socket");

struct sockaddr_in local;

local.sin_family = af_inet;

local.sin_port = htons(atoi(argv[2]));

local.sin_addr.s_addr = inet_addr(argv[1]);

if(bind(sock, (struct sockaddr*)&local, sizeof(local)) < 0)

err_exit("bind");

char buf[1024];

struct sockaddr_in client;

while(1)

if(s > 0)

}return

0;}

客戶端:

#include 

#include

#include

#include

#include

#include

#define err_exit(m) \

do\ while(0)

int main(int argc, char* argv)

int sock = socket(af_inet, sock_dgram, 0);

if(sock < 0)

err_exit("socket");

struct sockaddr_in server;

server.sin_family = af_inet;

server.sin_port = htons(atoi(argv[2]));

server.sin_addr.s_addr = inet_addr(argv[1]);

char buf[1024];

struct sockaddr_in peer;

while(1)}}

return

0;}

通過udp伺服器端和客戶端程式,可在區域網內進行對話:

由於條件有限,因此這裡就在本機兩個終端演示。當兩台主機處於同乙個區域網下時,可用此程式實現兩台主機的對話。

UDP簡單伺服器

udp簡單伺服器與客戶端 這裡用到了 recvfrom 表示接受來自何處的連線請求資訊 sendto 要向何處傳送 下面這段 是伺服器原始碼 下面主要用到 socket 建立udp協議的套接字 bind 繫結本機三元資訊 recvfrom 接收客戶端向本機伺服器傳送來得資訊 sendto 向客戶端傳...

UDP伺服器的實現

udp是一種面向無連線的不可靠傳輸協議,有處理速度快 消耗資源小的特點。好奇udp通訊怎麼實現併發服務。tcp可以通過監聽服務,建立新的會話,實現併發 udp沒有這種監聽機制,如何實現併發?其實,udp本身就可連線多個客戶端。udp是不區分客戶端,也不需要等待客戶端的連線請求。這樣就不用併發處理了。...

單使用者UDP伺服器的簡單實現

單使用者udp伺服器的簡單實現 今天我們來分享一下單使用者 udp伺服器的簡單實現。udp協議是一種無連線的傳輸層協議,提供面向事務的簡單不可靠資訊傳送服務,所以通過udp伺服器傳輸的資料不具備可靠性。其次,說說udp 協議的特點 1.udp報文沒有可靠性保證 順序保證和流量控制欄位等,可靠性較差。...