Linux Can';不要打开超过28234个插座?
我正在编写一个网络服务,我的目标是高并发性。出于某种原因,当我尝试连接到第28234个插座时,我得到:Linux Can';不要打开超过28234个插座?,linux,networking,Linux,Networking,我正在编写一个网络服务,我的目标是高并发性。出于某种原因,当我尝试连接到第28234个插座时,我得到: [Errno 99] Cannot assign requested address 客户端用python编写,服务器端用haskell编写。我在ubuntu 11.04上运行这个,并且: $ ulimit -n 1048576 如何克服此限制?中设置的临时端口范围: /proc/sys/net/ipv4/ip_local_port_range 阻止您创建更多连接。通常的解决方法是在主机
[Errno 99] Cannot assign requested address
客户端用python编写,服务器端用haskell编写。我在ubuntu 11.04上运行这个,并且:
$ ulimit -n
1048576
如何克服此限制?中设置的临时端口范围:
/proc/sys/net/ipv4/ip_local_port_range
阻止您创建更多连接。通常的解决方法是在主机上创建额外的IP地址,根据dan_waterworth的回答,每个IP将为您获得额外的临时端口范围,只要您将套接字绑定到接口 Microsoft在此讨论此主题:
出于好奇,您为什么需要这么多插座?您正在尝试同时收听28000多个插座?您的端口将用完。
SOCK_STREAM
或SOCK_DGRAM
?您正在尝试创建30000个从同一系统连接的客户端吗?你认为这是一个现实的用例吗?@ IKKE,我要创建一个高性能的WebSoCulver服务器。斯文,这可能就是答案。多谢各位@尼尔,事实上,我认为自己主要是一个C程序员,我很理解高并发性的问题。以后请不要这么放肆@涡轮J,短袜流@尼莫,不,这是为了进行基准测试,我没有100000台备用机器可以用来做测试。这有点奇怪,因为28232<2828284
@Steve-o,最后一台失败了,范围可能包括在内。哦,当你写84和34时,这是一个问题的输入错误。