我正在编写网络服务,我的目标是实现高并发性。出于某种原因,当我尝试连接到第28,234个插槽时,我得到:
[Errno 99] Cannot assign requested address
客户端是用python编写的,服务器端是用haskell编写的。我在ubuntu 11.04上运行它,并且:
$ ulimit -n
1048576
我如何克服这个限制?
答案 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