将两个WebSocket服务器相互连接

时间:2014-06-17 16:02:33

标签: websocket openshift wildfly-8

我有两个可以与客户端进行奇妙通信的WebSocket服务器。它们位于两台独立的机器上,用Java实现并在WildFly8 Web服务器中运行。我现在需要他们做的是相互沟通。这意味着:客户端向服务器1发送消息,服务器1向服务器2发送消息,接收回复并将其发送回客户端。

服务器在OpenShift中的不同应用程序上运行,我需要它们使用websockets。或者其他类型的通信,但我还没有找到任何实际工作到目前为止(RMI或普通套接字连接不起作用)。

我基本上尝试做的是在第一台服务器的onMessage方法中使用客户端的相同代码。像这样:

@OnMessage
public void message(Session session, String msg){
  ...
  WebSocketContainer container = ContainerProvider.getWebSocketContainer();
  Session NewSession = container.connectToServer(Client.class, URI.create(URL));
  NewSession.getBasicRemote().sendText("Routed :" + input);
  ...
}

但是,服务器没有连接到其他服务器,我不知道为什么。 有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

将connectToServer置于try {} catch中,可能会出错。记录下来。

我正在努力做同样的事情(2个websocket服务器,Wildfly 8),并且我得到了一个权限被拒绝的错误。在这里看我的帖子:

https://stackoverflow.com/questions/30966757/java-server-to-server-communication-with-websockets-permission-denied