【问题标题】:how to change java listening interface from localhost to IP address?java - 如何将java监听接口从localhost更改为IP地址?
【发布时间】:2015-06-20 08:11:44
【问题描述】:

如标题所述,我如何将 java 侦听接口从 localhost 更改为 IP 地址。 因为这个命令netstat -tulpn 显示:

tcp     0      0 127.0.0.1:7778     0.0.0.0:*     LISTEN      23958/java

我想在不使用套接字的情况下将 127.0.0.1 例如更改为 192.168.1.1,例如在 java 配置文件或玉文件中指定它。

我想这样做是为了使该端口可访问,以允许移动代理从远程机器迁移到这台机器。

【问题讨论】:

    标签: java agents-jade


    【解决方案1】:

    问题出在我的 /etc/hosts 中的配置中。 所以我通过正确配置来解决它

    【讨论】:

      【解决方案2】:

      为了让您有一个除环回/本地主机地址之外的地址的侦听器,必须有一个可用的网络接口来侦听。如果您的机器上没有额外的网络适配器,我看不出您将如何完成任务。

      如果您确实有其他网络适配器,请使用 NetworkInterface.getNetworkInterfaces() 获取机器必须提供的所有可用适配器,然后选择您希望将侦听器设置为的适配器。

      这个 SO 线程应该让您了解如何获取可用的网络适配器。 How to enumerate IP addresses of all enabled NIC cards from Java?

      如果您想使用 localhost 作为侦听器,因为您在本地计算机上有需要与您的服务器通信的应用程序,为什么不适合您使用环回地址?

      【讨论】:

      • 这不是我的选择,因为我试图打开该端口并监听从远程机器迁移到该机器的外国移动代理,唯一正在运行的服务是使用 java 的翡翠。所以运行线程和套接字对我来说不是一个选择。
      • 好吧...我不熟悉翡翠,但是,只要你说,“我想这样做是为了使该端口可访问,以允许从远程迁移移动代理机器到这台机器。”关键字是远程机器,这一定意味着你在某种网络上。这将需要一个网络适配器在该网络上,并且 localhost/loopback 地址仅适用于本地计算机。
      • 是的没错,这就是为什么我想将localhost地址更改为机器IP地址,我不知道是否可以在java配置文件中更改java的监听地址或类似的东西.
      【解决方案3】:

      如果您使用ServerSocket,则必须使用three-argument constructor 来执行此操作;第三个参数就是这个套接字的监听地址。

      ServerSocketChannels 等存在类似的构造函数/工厂方法。

      【讨论】:

      • 不,我没有使用serverSocket...我只使用没有界面图形的服务器......所以有什么方法可以配置java来监听IP地址而不是localhost?
      • 使用ServerSocket与使用GUI有什么关系?
      • 我只是给了你关于我的环境的信息......我知道与它没有关系:D
      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 2013-05-31
      • 1970-01-01
      相关资源
      最近更新 更多