socket.io を使用してサーバーからブラウザにデータをプッシュしたかったのですが、プロジェクトはJava Tomcatであり、socket.io
のサーバー実装の場合、Github。それらのほとんどは、deprecatedまたはより良いものが利用可能です。誰も私に良い実装を提案することができます。
そして、socket.io
でのブロードキャストに関するデモとサンプルコードがたくさんあります。私の要件は、異なるメッセージを異なるクライアントにプッシュすることです。誰かがそのようなものを扱う良いデモやチュートリアルを教えてくれますか?
ありがとう
本番環境では Socket.IO-Java を使用しています。要件に応じてカスタマイズしています。しかし、主なケースでは十分に機能します。
同僚が github でカスタマイズされたバージョンを共有しました。 Jetty 8を使用していますが、別のサーブレットコンテナに問題がある可能性があります。また、XPがMicrosoftによってサポートされない場合、WebSocketのみの実装を使用することを検討します。
これを試すことができます: https://github.com/codeminders/socket.io-server-Java
この実装は、他の回答で言及された古いSocket.IO-Javaライブラリに大まかに基づいています。
Socket.IO 1.0+クライアントをサポートします。 websocketトランスポートはJetty 9で実装されていますが、ライブラリのコア部分についてJettyに依存するものはありません。必要に応じて、Tomcatでwebsocketトランスポートを実装することはそれほど難しくないはずです。
Node.JS Socket.IOサーバーAPIと同様のAPIを維持しようとしました。したがって、特定のソケットにメッセージを送信するには、socket.emit()
を呼び出すだけです。
次に、SocketIOサーブレットで呼び出される小さなコードフラグメントを示します。
on(new ConnectionListener() {
public void onConnect(Socket socket)
{
try
{
socket.emit("welcome", "Welcome to Socket.IO Chat!");
}
catch (SocketIOException e)
{
socket.disconnect(true);
}
}
});