socket通訊之 udp協議2

2021-07-15 04:36:09 字數 1535 閱讀 1692

步驟:

1. 建立套接字

2. 繫結ip

3. 讀取資料

#include

#include /* see notes */

#include

#include

#include

#include

#define srv_port 9999

int main(int argc, char *argv)

// bind addr

struct sockaddr_in self; //描述本地ip和埠的資訊

self.sin_family = af_inet;

self.sin_port = htons(srv_port);

= inet_addr("192.168.7.5"); //本機器的ip

self.sin_addr.s_addr = htonl(inaddr_any); //本機器的所有ip

ret = bind(srv_fd, (const

struct sockaddr *)&self, sizeof(self)); //繫結ip

if(ret < 0)

struct sockaddr_in info;

socklen_t len = sizeof(info);

while(1)

buf[ret] = '\0';

printf("from client %s (port %d) : %s\n", inet_ntoa(info.sin_addr), ntohs(info.sin_port), buf);

} close(srv_fd);

return

0;}

客戶端
步驟:

1. 建立套接字

2. 傳送資訊

#include

#include

#include /* see notes */

#include

#include

#include

#include

#define srv_port 9999

#define srv_ip "192.168.7.5"

int main(int argc, char *argv)

int fd = socket(af_inet, sock_dgram, 0); //建立套接字

if(fd < 0)

struct sockaddr_in peer;

peer.sin_family = af_inet;

peer.sin_port = htons(srv_port);

//inet_aton(srv_ip, &peer.sin_addr);

inet_aton(argv[1], &peer.sin_addr);

while(1)

} close(fd);

return

0;}

socket實現UDP通訊

udp與tcp不同,是一種無連線的通訊方式,相比tcp而言更加靈活。利用socket實現udp的方式相比tcp而言也更加簡單。傳送方 1.初始化套接字 2.建立socket 3.利用sendto傳送資料 tcp是send 4.關閉socket 接收方 1.初始化套接字 2.建立socket並與本機進...

UDP協議與UDP通訊

1 udp協議 udp是無連線通訊協議,即在資料傳輸時,資料的傳送端和接收端不建立邏輯連線。簡單來說,當一台計算機向另外一台計算機傳送資料時,傳送端不會確認接收端是否存在,就會發出資料,同樣接收端在收到資料時,也不會向傳送端反饋是否收到資料。但是在使用udp協議傳送資料時,由於udp的面向無連線性,...

通訊原理之UDP協議(四)

udp是傳輸層協議,和tcp協議處於乙個分層中,但是與tcp協議不同,udp協議並不提供超時重傳,出錯重傳等功能,也就是說其是不可靠的協議。2.1.udp埠號 由於很多軟體需要用到udp協議,所以udp協議必須通過某個標誌用以區分不同的程式所需要的資料報。埠號的功能就在於此,例如某乙個udp程式a在...