簡體   English   中英

XP上C#中的UDP緩沖區

[英]UDP buffer in C# on XP

我有連續的udp數據包流到運行Windows XP的計算機。 在某個時候,我啟動一個監聽器(用C#編寫)來處理接收到的udp數據包。

啟動偵聽器時,是否會由於緩沖區而收到在偵聽器啟動之前發送的數據包,或者我可以確定進入偵聽器的第一個數據包實際上是偵聽器啟動以來收到的第一個數據包?

不能保證UDP傳遞按順序到達,完全到達,僅到達一次或在一定時間之后到達

因此,您還需要處理開始偵聽端口之前已發送的UDP數據包,但是由於某種原因進行了世界漫游,並且直到開始偵聽后才到達。

在大多數O / S實現中,當UDP數據包到達端口(並且不廣播)並且沒有人在該端口上偵聽UDP時,該數據包將被丟棄。 但是,在偵聽器啟動時, O / S有機會對其進行處理之前 ,UDP數據包有可能到達O / S並在網絡驅動程序的內部緩沖區中排隊。 然后,您還將看到它。

通常,永遠不要假設任何可靠的數據來自UDP數據包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM