代碼片段
Socket socket = new Socket("127.0.0.1", 8998);
127.0.0.1 詳細解釋
- 回環地址:指向本機網卡的虛擬接口
- 不經過網卡:數據包在內核直接從輸出隊列轉入輸入隊列
- 等價於:
localhost、::1(IPv6)
- 用途:本地進程間通信、開發測試、服務本地綁定
端口號 8998 含義
- 標識進程:IP定位主機,端口定位進程
- 範圍:0-65535(0-1023為系統保留)
- 選擇原則:
li>避開常用端口(80, 443, 3306, 27017等)
- 避開系統保留範圍
- 確保未被佔用(
netstat -an | grep 8998)
- 項目組內統一規範
Socket建立完整流程
// 客戶端
Socket socket = new Socket("127.0.0.1", 8998);
// 1. 創建Socket對象
// 2. 三次握手建立TCP連接
// 3. 返回已連接Socket,可進行IO操作
// 服務端對應
ServerSocket server = new ServerSocket(8998);
Socket client = server.accept(); // 阻塞等待連接
常見問題排查