This question already has an answer here:
Java Socket - Local Port
                                
                                    (1个答案)
                                
                        
                                3年前关闭。
            
                    
当我在Java中打印Socket类的对象时,它将打印套接字详细信息,例如
Socket[addr=/127.0.0.1,port=49989,localport=10]。我知道端口号。但是我不明白为什么有两个端口号(port和localport)?

最佳答案

根据javadocs


  localPort-套接字绑定到的本地端口,或者为0
  系统选择的空闲端口。


对于其他进程,端口号将为49989,但是此进程将使用端口10。

假设有一个电话,您拨打的电话号码是49989,但是您的电话号码是10

10-02 00:45