即時通訊使用2臺計算機與應用程序發送和接收udp數據報。
沒有流量控制(ICMP禁用)
經常當我通過應用程序發送文件作爲UDP數據報,我送2包改變它們的順序,爲此 - 分組丟失。確保UDP中的數據包順序
是有辦法,以確保Winsock和發送()將發送數據包,他們到了那裏以同樣的方式?
或者是OS在做什麼?被禁用和種類的防火牆,並且計算機之間沒有連接硬件開關(它們直接連接)。 需要網絡設備配置嗎?
謝謝
即時通訊使用2臺計算機與應用程序發送和接收udp數據報。
沒有流量控制(ICMP禁用)
經常當我通過應用程序發送文件作爲UDP數據報,我送2包改變它們的順序,爲此 - 分組丟失。確保UDP中的數據包順序
是有辦法,以確保Winsock和發送()將發送數據包,他們到了那裏以同樣的方式?
或者是OS在做什麼?被禁用和種類的防火牆,並且計算機之間沒有連接硬件開關(它們直接連接)。 需要網絡設備配置嗎?
謝謝
UDP是一個輕量級的協議,通過設計不處理像數據包序列的東西。如果您想要穩健的數據包傳輸和排序,TCP是一個更好的選擇。
UDP通常被設計爲,其中分組丟失是可接受的或優選的是哪個TCP即被當它具有重新請求的數據包的延遲的應用程序。 UDP因此通常用於媒體流。
如果你僅限於使用UDP你就必須開發識別出序列分組和重測序的方法等。
UDP不保證您的數據包按順序到達。 (它甚至不保證你的數據包完全到達。)如果你需要這種穩健性,你最好用TCP。或者,您可以將序列標記添加到數據報中,並在另一端重新排列它們,但爲什麼要重新發明輪子?
從一個實質性的原因我不能形容我只限於udp。一次又一次的罕見包丟失是可以接受的。它只是3個文件中的1個受到損失。我只需要找到一種方法讓發送者以正確的順序發送數據包,其餘的對我來說並不重要。謝謝 – Davidallencoe 2010-09-19 11:09:32
這並不是發送方按照正確的順序發送數據包的問題,而是讓接收方將它們重新組裝成正確的順序。就像我說的,在一些適當的級別添加序列標記。 – crazyscot 2010-09-19 11:40:48
UDP確保數據包完整或完全到達(即它具有校驗和),並且它還將端口號添加到原始IP。它不保證傳送或排序;那些是TCP增加的(通過基本上喊出一個包直到另一端說它已經到達)。保證正確的按順序傳遞也足以讓你假裝你有一個數據流(因此TCP是一個流媒體套接字,因爲這是很常見的)。 – 2010-10-03 19:52:47
沒有流量控制(ICMP禁用)
可以使用UDP實現自己的流量控制:
有關詳細信息,請參閱Sliding window protocol。
[這將具有在發送數據包的序列號是除到]
你能解釋一下這是什麼[UDP的訂單(http://www.nasdaqtrader.com/ content/technicalsupport/specifications/TradingProducts/UFO.pdf)? – Sajuuk 2017-08-16 14:12:01
@Sajuuk。看起來像一個PDF文件。如果你有問題,最好問一個新問題。 – PaulG 2017-08-16 15:03:52