我有2个应用程序说app1和app2。在机器1上,app1和app2都运行,但是在机器2上只有app2运行,因为大部分工作都是由app2完成的。这些应用程序使用Akka。
使用akka远程处理,我希望能够将消息从机器1上的app1传递到机器2上的app2.app1和2能够在同一台机器上相互交互。
然而,当机器1上的app 1尝试与机器2上的app2连接时,它会出现以下错误...
EndpointWriter - AssociationError [akka.tcp://deal-rest@127.0.0.1:4242] - > [akka.tcp:// deal @:4241]:错误[无效地址:akka.tcp:// deal @:4241] [ akka.remote.InvalidAssociation:地址无效:akka.tcp:// deal @:4241 引起:akka.remote.transport.Transport $ InvalidAssociationException:连接被拒绝:/:4241
我跑的时候 netstat -a | egrep' Proto | LISTEN'在机器2上,我得到了低于响应 tcp6 0 0 localhost:4241 [::]:* LISTEN
这表示app2正在运行且能够收听4241。
此外,端口4241在machine1和2上打开。
任何建议都会有所帮助。感谢。
答案 0 :(得分:1)
看起来您的应用程序已绑定到计算机2上的localhost接口。它应绑定到公共接口(例如192.168....
,而不是127.0.0.1
/ localhost
)以便可访问到外部网络。您可以远程登录以查看:
telnet machine2hostname 4241