3

InetAddress.getLocalHost.getHostAddressそのため、特定のマシンの外部IPアドレスを取得するために使用することに問題があります。

私は実際にある意味でこれをScalaで行っています-AkkaRemoteActorsの構成ファイルは、デフォルトInetAddress.getLocalHost.getHostAddressでマシンのIPアドレスを取得するために使用します。これは、複数のマシンにアクターをデプロイするため、必要なものです。ただし、必要な外部IPアドレスの代わりに戻ってきているよう127.0.0.1です(リモートアクターはネットワークを介して通信する必要があるため)。

問題は、Googleで見つけた方法のいずれも、コード自体の調整を伴うように見えるため、これを回避するために使用できないことですが、ここでは調整するコードが実際にはなく、DSLは自動的に調整されますを使用しInetAddress.getLocalHost.getHostAddressます。

私はあなたがあなたのホストファイルか何かを編集することによってこれを回避することができるグーグル検索からのいくつかのスレッドを読みましたか?どうすればよいですか?

ありがとう!-kstruct

4

3 に答える 3

3

NetworkInterfaceクラスを使用することもできます。

特に、静的なgetNetworkInterfacesメソッドを使用して、使用可能なすべてのネットワーク インターフェイスを列挙します。

于 2012-04-18T18:18:56.933 に答える
2

/etc/hosts ファイルを確認してください。「localhost」を 127.0.0.1 にマップし、実際のホスト名を実際の IP アドレス、またはそれらのいずれかにマップする必要があります:-| 一部の Linux ディストリビューションでは、明らかにこれが間違っています。

于 2012-04-18T21:42:43.477 に答える