1

我有两个 WebSocket 服务器,可以与客户端进行出色的通信。它们位于两台不同的机器上,用 Java 实现并在 WildFly8 网络服务器中运行。我现在需要他们做的是相互沟通。这意味着:客户端向服务器 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);
  ...
}

但是,服务器没有连接到另一台服务器,我不知道为什么。有什么建议么?

谢谢!

4

1 回答 1

0

将 connectToServer 放在 try {} 捕获中,您可能会收到错误消息。记录下来。

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

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

于 2015-06-26T04:36:42.357 回答