2012-04-19 72 views

回答

1

當連接到本地主機TCP總是立即連接,因此connect()不返回EINPROGRESS

您可以通過「假裝」connect()返回EINPROGRESS模擬客戶端並等待客戶端套接字準備好寫入(如果連接後EINPROGRESS)。事實上,一些庫只是爲了避免兩個不同的代碼路徑,以便立即緩慢連接,而不是阻塞connect()

+0

謝謝..但我可以從服務器做些什麼嗎?任何iptables命令延遲syn-ack ...例如。 – Deepak 2012-04-20 04:54:07

+0

或通過更改tcp_max_syn_backlog或tcp_synack_retries使用syscntl爲tcp服務器 – Deepak 2012-04-20 08:28:55

+0

您可以在不同的主機上運行您的服務器。或者在虛擬機中。沒有什麼比我更好的了... – 2012-04-20 10:45:11