2011-06-05 70 views
4

我正在寫一個網絡服務,我的目標是高併發性。出於某種原因,當我嘗試連接到第二萬八千二百三十四插座,我得到:無法打開超過28234個插座?

[Errno 99] Cannot assign requested address 

客戶是用Python編寫的服務器端被寫入在Haskell。我在ubuntu 11.04上運行這個,並且:

$ ulimit -n 
1048576 

我該如何克服這個限制?

+0

只是出於好奇,爲什麼你需要很多的插座? – Ikke 2011-06-05 17:23:13

+2

您正試圖同時收聽超過28000?你只會用完端口。 – 2011-06-05 17:26:20

+0

'SOCK_STREAM'或'SOCK_DGRAM'? – 2011-06-05 17:31:35

回答

1

的臨時端口範圍集:

/proc/sys/net/ipv4/ip_local_port_range 

防止創建更多的連接。

+0

這是有點奇怪的28232 <28284'。 – 2011-06-05 18:21:35

+0

@ Steve-o,最後一個失敗,範圍可能包括在內。 – 2011-06-05 18:25:13

+0

哦,這是與你寫84和34時的問題一樣的錯字。 – 2011-06-05 18:29:33