udp : user datagram protocol
程式傳送資料給 udp socket,資料先被封裝成 udp資料報,然後又被封裝成ip資料報,然後被傳送到目標方。資料是否被正確傳輸無任何保證(是否到達目標方,是否按正確順序到達,是否目標方只收到乙份資料)。
每個udp資料報都有長度,這個長度包含在資料報中傳送給目標方。
udp提供無連線的服務,udp的client和serve不用保持乙個長時間的連線。乙個udp client可以建立乙個socket發乙個資料報到乙個server,然後馬上可以用同乙個socket發資料給另乙個server。同樣乙個udp server可以用同乙個socket接收多個資料報,每乙個都來自不同的client。
output
udp沒有send buffer,通過so_sndbuf option 可以設定udp可寫到socket的資料報的最大尺寸。如要資料大於這個限制,emsgsize返回。
tcp按照規將send buffer的資料傳送出去。peer tcp必須確認資料,並且在沒有收到確認前必須存在資料的乙個copy。
udp傳送前加上8位元組的頭,然後傳送給ip。ip加上ip頭,查詢路由表,傳送資料到datalink。每個datalink都有乙個傳輸佇列,如果己滿,乙個錯誤產生。
UNIX網路程式設計學習 五 UDP程式設計
udp相比tcp是無連線的。它收發資料是通過recvfrom和sendto兩個函式。它們的原型如下 ssize t recvfrom int sockfd,void buff,size t nbytes,int flags,struct sockaddr from,socklen t addrlen...
Unix網路程式設計 傳輸層 TCP和UDP
第二章 傳輸層 tcp udp和sctp 1 使用者資料報協議 udp 1 描述 應用程式往乙個udp套接字寫入一條訊息,該訊息隨後被封裝到乙個udp資料報,又被封裝到乙個ip資料報,然後發往目的地 2 特點 缺乏可靠性 資料報到達目的地,但是檢驗和檢測有錯誤,或者該資料報在網路傳輸被丟棄,不會自動...
unix環境程式設計 UDP通訊
一 udp伺服器 程式設計的端一般步驟是 1 用函式socket 建立socket 第二個引數為sock dgram 2 用函式bind 繫結ip 位址 埠資訊 3 用函式recvfrom 接收資料 4 關閉網路連線 udp客戶端 程式設計的一般步驟是 1 建立乙個socket 用函式socket ...