Haisen大王 2015-08-08 09:22 采纳率: 50%
浏览 1619
已采纳

Socket连接问题,返回客户端地址的问题

客户端通过:s=new Socket("127.0.0.1", 5858);访问服务端
服务段通过:String name=s.getInetAddress().getHostAddress()+":"+s.getPort();
返回的:127.0.0.1:52703
客户端通过:s=new Socket("192.168.1.100", 5858);访问服务端
服务段通过:String name=s.getInetAddress().getHostAddress()+":"+s.getPort();
返回的:192.168.1.100:52709 为什么这时就返回192的而不是127那个??

127不是回环地址,,我若随便输入个127.0.0.8,怎么不但没错,依旧能连接本地服务端,而且服务端返回的IP还是127.0.0.1。

有点不懂

  • 写回答

1条回答 默认 最新

  • lpfly 2015-08-08 09:44
    关注

    首先127是loopback interface。从127.0.0.1到127.255.255.254都在loopback interface上,所以你输入任意以127开始的地址都是你自己。
    从你的代码可以看出你自己就是192.168.1.100。

    前后不一样的原因是:你的客户端通过两个不同的interface来访问服务器。第一次你用的是loopback interface,所以你看到的对方也是127网段的地址。第二次你用的是另一个interface(eth或者其他),所以你看到的是192.168.1网段的地址。

    重点就是:你两次通过不同的interface来访问服务器,两个interface的配置是不一样的,所以你看到的服务器的结果跟相应的interface配置有关。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能