我有两个可以与客户端进行奇妙通信的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);
...
}
但是,服务器没有连接到其他服务器,我不知道为什么。 有什么建议吗?
谢谢!
答案 0 :(得分:0)
将connectToServer置于try {} catch中,可能会出错。记录下来。
我正在努力做同样的事情(2个websocket服务器,Wildfly 8),并且我得到了一个权限被拒绝的错误。在这里看我的帖子: