網路通訊UDP

2021-07-24 14:28:19 字數 1826 閱讀 3716

udp

前面已經講過tcp網路通訊,然後tcp每次通訊都要進行三次握手連線,雖然傳輸的可靠性比較高,但對於一些及時性的資料的傳輸顯得太過費時,所以就有了udp這種無連線通訊,但資料容易出錯。

那些函式我這裡就不講了,直接看我上乙個部落格就行,我這裡直接附例子了。

udpserver.c

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define server_port 8888

#define max_msg_size 1024

void udps_respon(int sockfd)

}

int main(void)

/* 伺服器端填充 sockaddr結構 */

bzero(&addr,sizeof(struct sockaddr_in));

addr.sin_family=af_inet;

addr.sin_addr.s_addr=htonl(inaddr_any);

addr.sin_port=htons(server_port);

/* **sockfd描述符 */

if(bind(sockfd,(struct sockaddr *)&addr,sizeof(struct sockaddr_in))<0)

udps_respon(sockfd); // 進行讀寫操作

close(sockfd);

}

udpclient.c

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define server_port 8888

#define max_buf_size 1024

void udpc_requ(int sockfd,const

struct sockaddr_in *addr,int len)

}

int main(int argc,charchar **argv)

/* 建立 sockfd描述符 */

sockfd=socket(af_inet,sock_dgram,0);

if(sockfd<0)

/* 填充服務端的資料 */

bzero(&addr,sizeof(struct sockaddr_in));

addr.sin_family=af_inet;

addr.sin_port=htons(server_port);

if(inet_aton(argv[1],&addr.sin_addr)<0) /*inet_aton函式用於把字串型的ip位址轉化成網路2進製數字*/

udpc_requ(sockfd,&addr,sizeof(struct sockaddr_in)); // 進行讀寫操作

close(sockfd);

}

udp網路通訊

建立套接字 傳送 接收 資料 關閉套接字 伺服器需要通過bind固定本機ip和port import socket 1.建立udp套接字 udp socket socket.socket socket.af inet,socket.sock dgram 2.傳送資料 send socket.send...

udp網路通訊

如何使用udp實現通訊 編碼 encode 解碼 decode傳送 sendto udp傳送資訊功能 連線模組,導包 import socket 建立udp套接字 udp socket socket.socket socket.af inet,socket.sock dgram 死迴圈 while ...

android網路通訊 UDP

udp伺服器端工作的主要步驟如下 1.呼叫dtagramsocket int port 建立乙個資料報套接字,並繫結到指定介面 2.呼叫datagrampacket byte int 建立乙個位元組陣列以接收資料報 3.呼叫dtagramsocket的receive 接受udp 4.關閉連線 下面是...