C#如何拆分UDP包?

时间:2011-04-07 21:46:49

标签: c# udp split packet

我正在使用UdpClient类发送数据包。

似乎每个数据包的大小限制,因为大数据包永远不会到达目的地。我试图降低数据包大小,这允许数据包到达目的地。我在某处读到“标准”数据包大小限制为512字节。

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

所以我的问题是:.NET中是否有内置的方法将字节数组拆分成较小的数据包。显然,我之后需要重新组合拆分数据包。

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

2 个答案:

答案 0 :(得分:0)

Socket类中的Send函数将字节数组作为参数。

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

您可以尝试这样做。

答案 1 :(得分:0)

  

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

Ciaran Keating是对的。 TCP是我需要的更好选择。