UDP套接字的数量是否有限制,可以一次使用?

时间:2015-06-18 08:33:08

标签: c# .net sockets udp

我需要使用大量指向不同UDP端口的UDP套接字来实现接收功能。因此,我打开了很多套接字并使用 BeginReceive()在帧到达特定端口时调用相应的回调函数。

我可以一次打开的插座数量是否有限制?

谢谢

1 个答案:

答案 0 :(得分:2)

当然,总有限制:

  • 可用端口数量。绝对最大值为65535,但真正的最大值更有限。
  • 处理每个套接字状态的可用内存量。
  • 接收缓冲区的内存量。

当然,您会找到更多示例。但端口号限制绝对硬限制。好吧,只要你只有一个IP地址,当然。没有什么能阻止您在计算机或VPN中使用几个不同的网卡...

更重要的问题是"为什么?"。 UDP是基于消息的 - 实际上很容易通过一个套接字处理来自数千(和更多)客户端的消息。与TCP不同,UDP没有任何独占连接。