在java中更改本地主机

在java中更改本地主机,java,netty,Java,Netty,我正在使用netty编写简单的服务器。默认情况下,我使用localhost:8080与他一起工作, 但是我能把这个换成另一个:8080吗? 我只能使用java,我不知道我的程序将在哪个操作系统上运行。 我自己无法打开hosts.txt文件并在那里编写新主机 我试着用 新的inetsocketaddress(字符串主机名,int-port)毫不奇怪,主机名就是运行服务(在本例中为netty)的主机名。默认情况下,名称“localhost”表示“我正在运行的计算机”,因此您不能更改该名称指向的位置。

我正在使用netty编写简单的服务器。默认情况下,我使用localhost:8080与他一起工作, 但是我能把这个换成另一个:8080吗?
我只能使用java,我不知道我的程序将在哪个操作系统上运行。 我自己无法打开hosts.txt文件并在那里编写新主机

我试着用
新的inetsocketaddress(字符串主机名,int-port)

毫不奇怪,主机名就是运行服务(在本例中为netty)的主机名。默认情况下,名称“localhost”表示“我正在运行的计算机”,因此您不能更改该名称指向的位置。但是,您可以向正在使用的计算机添加其他名称

  • 主机文件,它将是您计算机的本地文件(也就是说,该名称将仅与您计算机上的IP地址相关联)
  • 使用DNS,这将使该名称成为全球通用的名称,但它还需要一个可公开访问的IP地址

您想做什么?

您可以使用bind(字符串主机名,int-port)或bind(SocketAddress localAddress)将ServerBootsrap绑定到主机名,其中localAddress=InetSocketAddress(字符串主机名,int-port)

谢谢您的回答。我想给主机文件添加另一个名称。在Windows上,编辑%windir%\System32\drivers\etc\hosts,在Linux上编辑/etc/hosts。不,localhost只表示IP地址127.0.0.1,只有同一台计算机上的进程才能连接到它。好的,谢谢。我在想,我可以不用编辑主机文件。现在我来做。我尝试了ChannelFuture f=b.bind(“someName”,8080).sync(),但它给了我“java.net.SocketException:Unresolved address”。你应该像b.bind(“10.1.2.3”,8080)那样使用真正的可解析主机名或IP地址