c#如何分割UDP数据包

本文关键字:UDP 数据包 分割 何分割 | 更新日期: 2023-09-27 17:49:15

我使用UdpClient类发送数据包。

似乎存在每个数据包大小的限制,因为大数据包永远不会到达目的地。我尝试降低数据包大小,以使数据包能够到达目的地。我在某处读到"标准"数据包大小限制是512字节。

但是我仍然需要发送远远大于512字节的对象。

所以我的问题是:在。net中是否有一种内置的方法将字节数组拆分为更小的数据包。显然,我也需要在之后重新组装分裂的数据包。

我在Socket类中看到SendFile方法,我猜应该能够自动拆分大文件。但是该方法不允许字节数组输入(只允许文件名)。因此,它只适用于发送存储在硬盘驱动器上的数据,而不适用于内存中的数据。

c#如何分割UDP数据包

Socket类中的Send函数接受一个字节数组作为参数。

http://msdn.microsoft.com/en-us/library/w93yy28a.aspx

你可以试试这个

通过UDP发送大数据块似乎有点奇怪,因为使用UDP数据报不能保证到达另一端。即使它们都到达了,也不能保证是原来的顺序。您确定要使用UDP吗?

Ciaran Keating是对的。TCP是一个更好的选择。