为什么我需要在 netty socketio 中给出主机名以及如何在 docker 中处理 socketio



>我正在为某个项目使用 netty-socketio。我像这样设置了一个服务器:

Configuration config = new Configuration();
config.setHostname("localhost");
config.setPort(8080);
SocketIOServer server = new SocketIOServer(config);
server.start();

我对这一切知之甚少,我想知道为什么我需要在这里设置主机名?仅仅让端口监听还不够吗?

另外,如何在 Docker 中处理这个问题:我有服务器的 IP 和容器的虚拟 IP,我应该给哪一个?

如果我在不同的容器中运行另一台服务器(但在同一台机器上),并且我希望两者进行通信,我如何处理所有这些 IP 来实现这一点?沟通会像在本地主机上一样高效吗?

正如你在这里看到的,设置主机名可以很容易地省略。基本上这只是一个将套接字绑定到的接口。所以是的,您只能指定要侦听的端口 - 在这种情况下,它将侦听 0.0.0.0。

当涉及到 docker 时,您可能不会指定主机名,而是配置端口公开。 例如,容器将侦听 0.0.0.0:8888,这将暴露给 :8889 - 请参阅端口公开。

所有容器都将在分配其唯一 IP 的情况下运行。如果希望它们通信到只需要设置要绑定的不同端口即可。

最新更新