【问题标题】:Are localhost sockets affected when public IP address changes公共 IP 地址更改时是否会影响 localhost 套接字
【发布时间】:2010-10-02 16:35:56
【问题描述】:

我已经使用在 127.0.0.1 上打开的套接字实现了一些远程方法调用。在程序运行过程中,电脑的公网IP地址会发生变化,因为我的程序时不时通过GPRS调制解调器上网。你能告诉我这对我打开的套接字有什么影响吗? Java版本是1.3,windows平台。 有几个网络接口,它们的 IP 地址会随着时间而变化(+VPN 连接已建立)。但是客户端和服务器在同一台机器上,并使用 127.0.0.1 通过套接字建立连接。通过这些网络接口更改此地址是否会影响 127.0.0.1 通信。

【问题讨论】:

  • 客户端是否使用公网IP连接服务器?如果它在远程机器上运行,这是必要的。另外,您的系统是否有多个网络接口?
  • 这个问题的标题不正确。 “Java 套接字”是一种模糊和广泛的方式。请将此问题重新命名为:“公共 IP 地址更改时是否会影响 localhost 套接字?”

标签: java sockets


【解决方案1】:

即使您拔出网络连接并禁用或删除所有网络适配器,本地主机也可以工作。

【讨论】:

  • @gsk,谢谢。你太客气了。
【解决方案2】:

你确定绑定到服务器上的 localhost 地址了吗?

ServerSocket(int port, int backlog, InetAddress bindAddr)

【讨论】:

    【解决方案3】:

    除了为什么在上帝的绿色地球上您使用 Java 1.3(当 Java 1.4 不再受支持时)这个显而易见的问题之外,localhost 就是 localhost。它不受调制解调器(GPRS 或其他)分配给您的任何 IP 地址的影响。没关系。

    【讨论】:

    • 这将是一个有趣的转变。 :)
    • 大量 1.1 代码仍在生产中。无论如何,事情从那里开始走下坡路:)
    • 我去年采访的某个地方还在使用 java 1.2 ......我疯了
    • 我会从任何不使用至少 Java 5 的地方跑到山上。
    • 我希望看到 1.3 -> 1.6 的过渡只是为了好玩,因为至少肯定会有大量与泛型、foreach 和 varargs 相关的重构,更不用说所有可能修复的 API:s和替换等:D
    猜你喜欢
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 2017-08-15
    • 2020-10-19
    • 2015-06-07
    • 2017-05-03
    相关资源
    最近更新 更多