我在服务器上使用虚拟机。我的 VM 本地 IP 192.168.1.10
正在尝试实现需要我编辑/etc/hosts
,如此链接中所述
http://www.thatisjava.com/java-tech/55200/
我遇到了类似的问题,我的控制台显示
RTP--- :DataAddress: /192.168.1.10
ControlAddress: /192.168.1.10
DataPort: 42050
ControlPort: 42051
java.io.IOException: Local Data AddressDoes not belong to any of this hosts local interfaces
java.io.IOException: Local Data AddressDoes not belong to any of this hosts local interfaces
at org.speechforge.cairo.rtp.RTPConsumer.init(RTPConsumer.java:181)
at org.speechforge.cairo.rtp.RTPConsumer.<init>(RTPConsumer.java:95)
at org.speechforge.cairo.rtp.server.RTPStreamReplicator.<init> (RTPStreamReplicator.java:69)
等等。
给出的问题的答案是
我解决了这个。问题是JMF似乎使用了 InetAddress.getAllByName() 仅返回(至少在我的情况下) 单个 IP 地址,无论我在 接口。通过放置我的IP地址解决了问题 想通过会话管理器使用/etc/hosts。它必须是第一个 行,否则使用匹配的另一行。
不幸的是,我无法理解他想说什么。我的/etc/hosts
阅读
127.0.0.1 localhost
127.0.1.1 SparkVM104
那么我应该用我的192.168.1.10
改变127.0.0.1
还是我应该创建一个别名,例如127.0.0.1/192.168.1.10
或者我应该把192.168.1.10
粘贴到顶部吗
192.168.1.10
127.0.0.1 localhost
127.0.1.1 SparkVM104
任何帮助,不胜感激。
问候。
/etc/hosts
的格式是
IP_address canonical_hostname [aliases...]
(请参阅 http://linux.die.net/man/5/hosts),因此要首先列出 192.168.1.10,/etc/hosts
文件必须如下所示:
192.168.1.10 SomeHostName SomeOtherHostName
127.0.0.1 localhost
在/etc/hosts 中,localhost 应该映射到 127.0.0.1 而不是别的,而您的外部主机名应该映射到您的外部 IP 地址,而不是其他任何内容。据说一些 Linux 发行版违反了此规则,它破坏了一切。