阿卡端口转发
Akka Port Forwarding
我正在尝试对我的 Akka 程序执行端口转发,客户端可以通过 Internet 与服务器通信。我已经配置了我的路由器并且端口转发机制正在工作,但是 Akka 似乎有问题。
问题是客户端无法从服务器获取远程actor。服务器端不断出现收件人不同的错误。客户端通过 "akka.tcp://RemoteSystem@67.18.67.18:5150/user/remote"
获取远程参与者,其中 67.18.67.18
是我的全球 IP 地址。然后远程参与者在路径 "akka.tcp://RemoteSystem@192.168.0.106:5150/user/remote"
进行远程处理,其中 192.168.0.106
是我服务器的本地 IP。我知道客户端必须使用相同的路径访问远程参与者,但尽管我定义了 public-localname
,服务器仍然不会将全局 IP 转换为本地 IP 或允许通过全局 IP 进行访问。有什么解决方法吗?下面是服务器的application.conf
。
akka {
loglevel = "INFO"
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = ""
port = 5150
public-hostname = "67.18.67.18"
}
log-sent-messages = on
log-received-messages = on
}
}
要绑定的接口的配置参数是 "bind-hostname",public IP 的配置参数是 "hostname"。您还需要为要绑定的本地端口设置 "bind-port",为 public IP 设置 "port"。
有关详细信息,请参阅文档:http://doc.akka.io/docs/akka/snapshot/scala/remoting.html
我正在尝试对我的 Akka 程序执行端口转发,客户端可以通过 Internet 与服务器通信。我已经配置了我的路由器并且端口转发机制正在工作,但是 Akka 似乎有问题。
问题是客户端无法从服务器获取远程actor。服务器端不断出现收件人不同的错误。客户端通过 "akka.tcp://RemoteSystem@67.18.67.18:5150/user/remote"
获取远程参与者,其中 67.18.67.18
是我的全球 IP 地址。然后远程参与者在路径 "akka.tcp://RemoteSystem@192.168.0.106:5150/user/remote"
进行远程处理,其中 192.168.0.106
是我服务器的本地 IP。我知道客户端必须使用相同的路径访问远程参与者,但尽管我定义了 public-localname
,服务器仍然不会将全局 IP 转换为本地 IP 或允许通过全局 IP 进行访问。有什么解决方法吗?下面是服务器的application.conf
。
akka {
loglevel = "INFO"
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = ""
port = 5150
public-hostname = "67.18.67.18"
}
log-sent-messages = on
log-received-messages = on
}
}
要绑定的接口的配置参数是 "bind-hostname",public IP 的配置参数是 "hostname"。您还需要为要绑定的本地端口设置 "bind-port",为 public IP 设置 "port"。
有关详细信息,请参阅文档:http://doc.akka.io/docs/akka/snapshot/scala/remoting.html