WebSocket サーバーを作成するために、Java-WebSocketライブラリを使用しました。このように見え、動作しています。
しかし、今はアップグレードしたいので、サーバーはアクティブなクライアント接続を 1 つだけ持つことができます。
これを行うための何らかのオプションはありますか、それともすべての接続をチェックし、最初以外のアクティブな接続をすべて閉じる必要がありますか?
私はこのようにそれを試しました:
@Override
public void onOpen(WebSocket conn, ClientHandshake handshake)
{
System.out.println("WebSocketServer::onOpen()");
boolean first = true;
Collection<WebSocket> con = this.connections();
synchronized(con) {
for (WebSocket c : con) {
if (first && c.isOpen()) {
first = false;
} else {
c.close();
}
}
}
}
ただし、これによりすべての接続が閉じられ、Websocket サーバーが強制終了されます。私は何を間違っていますか?