實現案例:
udp是無連線的通訊協議,準備好位址之後可以直接傳送或接收資料。
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,const struct sockaddr *dest_addr, socklen_t addrlen);
功能:傳送資料
sockfd:傳送者的socket描述符
buf:待傳送的資料
len:資料的長度
flags:一般寫0即可。
dest_addr:目標位址
addrlen:位址的長度
返回值:成功傳送的資料的位元組數
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);
功能:接收資料
sockfd:接收者的socket描述符
buf:儲存資料的緩衝區
len:緩衝區的長度
flags:一般寫0即可
src_addr:儲存傳送者的位址
addrlen:既是輸入(當前系統位址的位元組數)也是輸出(獲取傳送者位址的位元組數),儲存傳送者位址的長度。
返回值:成功接收到的資料的位元組數。
udp網路通訊程式設計模型:
計算機s --------------------------------計算機c
建立socket物件 ----------------------建立socket物件
準備通訊位址 ------------------------準備通訊位址(s的位址)
繫結socket物件和位址
接收/返回資料 -----------------------傳送/接收資料
關閉socket物件 ---------------------關閉socket物件
UDP通訊基礎
udp通訊 接收 1.int sock socket af inet,sock dgram,0 af是address family位址家族,有ipv4 ipv6。type是udp。protocol是0,讓系統自動 選擇。socket成功返回0 2.int i bind sock,sockaddr s...
UDP及TCP通訊對比講解
特點 tcpudp 連線性面向連線 面向無連線 可靠性可靠 不可靠傳輸效率慢快 傳輸模式 資料流資料報 伺服器1.建立socket套接字 2.繫結套接字到ip和埠 3.監聽 listen 將套接字設定為監聽模式 4.接收連線 accept 5.傳送 接收資料 6.關閉socket套接字。客戶機1.建...
Linux和Windows間的UDP通訊
udp user datagram protocol 的中文叫使用者資料報協議,屬於傳輸層。udp是面向非連線的協議,它不與對方建立連線,而是直接把我要發的資料報發給對方。所以udp適用於一次傳輸資料量很少 對可靠性要求不高的或對實時性要求高的應用場景。正因為udp無需建立類如三次握手的連線,而使得...