我本地的机器与server建立了一个socket连接,本地有IPv4地址,有通过管道的IPv6地址,我怎么通过socket连接得到是使用的哪一个地址呢?此时我是使用的管道IPv6与server连接的,假若此时有多个管道IPv6地址,我该怎么确定正在使用的是哪一个呢?

解决方案 »

  1.   

    具体使用哪个是由你的route table决定的
      

  2.   

    我与另一台机器建立了一个通道,从另一台机器上来看,我确实使用了管道的IPv6地址,但是我使用java的socket的getLocalAddress方法,得到的却是0.0.0.0,如果不连接管道的IPv6地址的server,而直接连接一个IPv4的server,则java的socket的getLocalAddress方法返回正常的IPv4地址.不知道是java的bug,还是我使用不当?还请指教哈