1

クライアントと見事に通信できる 2 つの WebSocket サーバーがあります。これらは、Java で実装され、WildFly8 Web サーバー内で実行される 2 つの別々のマシン上にあります。私が彼らに今しなければならないことは、お互いにコミュニケーションをとることです。つまり、クライアントはメッセージをサーバー 1 に送信し、サーバー 1 はメッセージをサーバー 2 に送信し、応答を受信して​​クライアントに送り返します。

サーバーは OpenShift のさまざまなアプリで実行され、websocket を使用する必要があります。または、他のタイプの通信ですが、これまで実際に機能するものを見つけることができませんでした (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 に答える