本文介紹 ServerSocket 獲取綁定端口與 IP 的三種方法,並以 FTP 協議的主動/被動模式為例,深入剖析匿名端口在資料傳輸通道建立中的關鍵角色。
| 方法 | 回傳值說明 |
|---|---|
getLocalPort() | 未綁定回傳 -1;綁定固定端口回傳該端口;綁定 0(匿名端口)回傳系統隨機分配的端口。 |
getInetAddress() | 回傳綁定的 InetAddress;未綁定 IP 回傳 0.0.0.0。 |
getLocalSocketAddress() | 回傳 SocketAddress,轉型為 InetSocketAddress 可同時取得 IP 與端口。 |
ServerSocket(0),透過命令通道告知伺服器;伺服器從 20 號端口 主動連接客戶端匿名端口。ServerSocket(0),透過命令通道告知客戶端;客戶端主動連接伺服器匿名端口。現代 FTP 客戶端預設被動模式;若環境允許,主動模式較安全。
理解 ServerSocket 匿名端口機制,不僅能靈活獲取綁定資訊,更是掌握 FTP、P2P 等需雙向建立連接協議的核心鑰匙。