2017-03-08 348 views
-1

我一直在使用socket集群来设置socket服务器。无论如何,在同一个端口上使用同一台机器上运行的多个套接字集群?一台机器上有多个websocket服务器

例:

应用程序连接到WS://server.com/app-one 另一个应用程序连接到WS://server.com/app-two

+1

我不明白你的问题。这意味着什么:'在同一端口上的同一台机器上运行多套接字集群?而且,这是什么意思:“不同目的客户,不同目的不同服务器。”?请编辑你的问题来澄清。 – jfriend00

+0

您不能在同一端口上的同一台计算机上运行多个套接字群集(服务于不同的应用程序),因为无法将给定连接引导至正确的群集。您必须有一些额外的代理或其他网络设备,根据初始连接的某些特性将传入连接引导到正确的群集,然后这些群集将运行在不同的端口上。 – jfriend00

+0

谢谢,我想知道是否有一种方法来连接到基于路径或正确的群集..例如:ws://SSS.com/app1和as://SSS.com/another-app –

回答

0

反正是有在同一台机器上使用同一端口上运行的多套接字集群?

不,不是直接。您需要某种其他进程来充当代理来分离主端口上的传入连接,然后转发到适当的群集(每个群集将运行在不同的端口上)。

因此,代理进程将在您的主端口上运行,无论这是什么。每个websocket群集将运行在其自己的唯一端口上。 传入连接将到达代理,然后转发到正确的套接字群集。我的猜测是,您可以使用NGINX作为您的代理,并将其配置为根据路径路由到正确的群集。

+0

谢谢,想知道套接字集群是否可以自己处理它。如果不是,我会试试这个。 –

+0

@VishK - 不是我所知道的。 – jfriend00

+0

@VishK - 如果这回答了您的问题,那么您可以通过点击答案左侧的绿色复选标记来向社区表明。这也将为您在堆栈溢出时遵循适当的过程赢得一些声望点。 – jfriend00