網路程式設計之 UDP包長的選擇

2021-08-29 11:29:08 字數 318 閱讀 7556

udp協議雖說沒有tcp協議應用那麼廣泛,但是udp也有自己的應用領域。

在使用udp時,udp包長的選擇直接影響到整個設計是否成功。那麼udp包究竟多大合適呢?

理論上,乙個udp包最大可以達到65535-20-8(65507,ip首部20個位元組,udp首部8個位元組)個位元組,

但是許多平台實際的限制是8192個位元組(8kb)。

另外由於鏈路層要將資料進行分組,比如乙太網的mtu為1500位元組,

因此在實際的設計時,包長的選擇還要儘量減少鏈路層的分組,這樣才能達到最大的傳輸速度。因此我們udp包應該在1024個位元組之內。

[url=

網路程式設計之UDP協議

將資料及源和目的封裝成資料報,不需要建立連線。每個資料報的大小限制在64k內。因無連線,是不可靠的協議,但是速度快。客戶端 1 建立udp傳輸的傳送端 2 建立udp的socket服務 3 將要傳送的資料封裝到資料報中 4 通過udp的socket服務獎資料報傳送過去 5 關閉socket服務 pu...

Linux 網路程式設計之UDP

1.介紹 udp協議是無連線的,不可靠傳輸的協議.伺服器與客戶端的互動不需要建立連線,沒有流量控制的功能。與tcp一樣,它也是傳輸層協議,通訊過程中需要ip位址與埠號。使用udp進行程式設計包括伺服器與客戶端,下面介紹一下伺服器與客戶端的通訊流程 伺服器流程 1 建立伺服器套接字描socket 2 ...

linux網路程式設計之UDP

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