Tcp
無法連接到本地伺服器
我正在將客戶端/伺服器應用程序從 Linux 遷移到 Windows,雖然伺服器的 Linux 版本執行良好,但 Windows 版本無法通過 localhost 連接。當程序試圖協商連接時,我從 netstat -a 看到以下內容(省略了不相關的行)。
活動連接 原始本地地址外國地址狀態 TCP 0.0.0.0:9000 mgibson-dev:0 監聽 TCP 0.0.0.0:9002 mgibson-dev:0 監聽 TCP 127.0.0.1:9001 mgibson-dev:0 監聽 TCP [::1]:52403 mgibson-dev:9001 SYN_SENT TCP [::1]:52404 mgibson-dev:9001 SYN_SENT
伺服器似乎正在嘗試通過 IPv6 進行響應。這是正常的,它應該工作嗎?我是在看問題還是只是一個紅鯡魚?
TCP [::1]:52404 mgibson-dev:9001 SYN_SENT
此行似乎暗示您已嘗試在埠 9001 上啟動與“mgibson-dev”的 ipv6 連接。SYN_SENT 位表示您已觸發 TCP SYN 數據包但未收到響應。
如果您沒有在 TCP 9001 上偵聽 ipv6 localhost 地址,我最初的猜測是您在某處有防火牆,該防火牆將返回數據包丟棄在某處。通常,如果埠關閉,您會期望返回一個 RST 數據包,然後它會知道埠未打開並嘗試 ipv4 地址。因為 RST 數據包沒有通過,它只是掛起等待響應,最終會超時。
簡而言之,檢查您的防火牆以允許所有來自 localhost 的 ipv4 和 ipv6 入站。