我正在使用UdpClient類來發送數據包。C#如何分割UDP數據包?
似乎有一個每個數據包的大小限制,因爲大數據包永遠不會到達目的地。我試圖降低數據包的大小,使數據包能夠到達目的地。我在某處讀到「標準」數據包大小限制是512字節。
但我仍然需要發送大於512字節的對象。
所以我的問題是:是否有內置的方式在.NET中將字節數組拆分爲更小的數據包。顯然,我也需要重新組裝拆分包。
我看到了Socket類中的SendFile方法,我猜應該可以自動分割大文件。但該方法不允許字節數組輸入(僅限文件名)。所以它只適用於發送存儲在硬盤驅動器上的數據,而不適用於內存數據。
通過UDP發送大塊數據似乎有點奇怪,因爲使用UDP數據報不能保證到達另一端。即使他們都到達了,他們也不能保證按照原來的順序。你確定要使用UDP嗎? – 2011-04-07 22:29:45
這是一款電子遊戲。我已經使用UDP進行輸入和遊戲狀態傳輸。但我認爲你是對的,也許TCP連接會更適合發送地圖,因爲這些連接確實需要安全地傳輸。 – asmo 2011-04-08 15:13:02
「我在某處讀到標準數據包大小限制是512字節。」您的來源錯誤,以太網的幀大小約爲三倍。 – 2011-04-10 21:51:33