我試圖通過Java程序連接到遠程主機:TCP連接建立
socket = new java.net.Socket(host,port);
我得到以下異常:
java.net.ConnectException: Connection refused: connect
跟蹤我的計算機和遠程之間的IP數據包主機,我看到我的計算機發送了三次SYN數據包,並接收到[RST,ACK]數據包三次。
儘管只有一個連接建立,我的計算機爲什麼會發送三個SYN數據包?
是由於OS的TCP/IP堆棧?
還是由於Java的實現java.net.Socket類?
防火牆和java安全管理器已在連接的兩端進行檢查?這應該工作。我一直用這個沒有問題。嘗試ol重新啓動? – jefflunt
問題不在於爲什麼遠程主機重置連接,而是爲什麼發送了3個SYN數據包。 –
這可能是一個重試? http://stackoverflow.com/questions/1045964/how-to-view-change-socket-connection-timeout-on-linux –