0
我有一個C++應用程序,它接受TCP連接,然後讀取發送給它的流量。它一直很好,直到我把它移到一臺新機器上。好像winsock從不接受入站TCP連接。在我的代碼中,它永遠不會從select語句返回。我可以看到使用netstat/tcpview,應用程序正在監聽端口14005.TCP三次握手失敗
如果我只是在本地telnet,我可以連接到此端口。但是,當有人試圖通過外部IP地址連接時,TCP 3方式握手永遠不會結束。我可以在wireshark中看到入站SYN數據包。它將到達正確的端口14005.然而,我的系統從不再發送SYN-ACK。這只是winsock想要處理的東西嗎?該機器有多個NIC卡,但我與INADDR_ANY綁定,所以這應該不重要。有什麼方法可以深入挖掘爲什麼這種握手永遠不會發生?
你檢查過防火牆設置嗎?聽起來像Windows防火牆的行動。 – littleadv 2012-03-19 19:31:49
聽起來像是防火牆問題。什麼是防火牆設置? – 2012-03-19 19:33:22
是的,我確實檢查過。 Windows防火牆已關閉,所以我沒事。我在機器上看不到任何防火牆軟件。可能有東西正在滑落,但我無處不在。 – JonF 2012-03-19 19:34:26