首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java Socket 跨機通信失敗排查清單

     編輯:程式設計疑難解答

常見原因

  1. 防火牆:Windows/雲服務器安全組阻攔端口(如 8888)
  2. IP 地址錯誤:用 127.0.0.1 或內網 IP(192.168.x.x)而非公網 IP
  3. 代碼綁定:ServerSocket 必須 new ServerSocket(port)(綁定 0.0.0.0),不能綁定具體 IP
  4. 網絡不通:ping 不通、不同子網、VPN 干擾
  5. 線程阻塞:主線程沒循環 accept(),或客戶端未啟動獨立線程讀寫

排查步驟

  1. 同機器 telnet localhost port 測試本地通
  2. 另一機器 telnet server_ip port 測試端口通達
  3. 雙向 nc -lvp port / nc ip port 驗證數據收發
  4. 代碼加日誌記錄 accept() 返回的 Socket 遠程地址

最小可行 Demo

先跑通單線程回顯服務器,再加業務邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved