无法打开超过28234个插座?

时间:2011-06-05 17:21:04

标签: linux networking

我正在编写网络服务,我的目标是实现高并发性。出于某种原因,当我尝试连接到第28,234个插槽时,我得到:

[Errno 99] Cannot assign requested address

客户端是用python编写的,服务器端是用haskell编写的。我在ubuntu 11.04上运行它,并且:

$ ulimit -n
1048576

我如何克服这个限制?

2 个答案:

答案 0 :(得分:1)

临时端口范围设置为:

/proc/sys/net/ipv4/ip_local_port_range

阻止您创建更多连接。

答案 1 :(得分:1)

通常的解决方法是在主机上创建额外的IP地址,只要将套接字绑定到接口,每个IP将根据dan_waterworth的答案获得额外的短暂端口范围。

Microsoft在此处讨论了该主题:

http://msdn.microsoft.com/en-us/library/cc150670(v=vs.85).aspx