【发布时间】:2014-03-22 09:52:41
【问题描述】:
我正在编写distributed BBS software,使用 Akka 2.2.3 作为 Scala 中的远程消息传递。
然后,我发现通过 NAT 在 Internet 上联网时存在一些问题:Akka 无法识别外部 IP 地址,AFAIK 因为它使用socket.bind。
接下来,我想我可以将0.0.0.0指定为akka.remote.netty.tcp.hostname,以便采用所有接口和地址来监听来自互联网端的连接。
这就是问题所在——Akka 使用 0.0.0.0 作为自己的 IP 地址,并像这样生成 ActorRef:akka.tcp://system@0.0.0.0/user/foo。
其他节点无法通过 Internet 引用使用此 ActorRef 的节点。
通过 Internet 连接节点应该怎么做?我不能通过 NAT 使用 Akka 吗?
【问题讨论】:
-
Akka 不支持 NAT。见stackoverflow.com/questions/12542496/…