48

サーバーからブラウザにデータをプッシュするためにsocket.ioを使用したかったのですが、プロジェクトはjava tomcatのもので、 Githubにはサーバー実装用の実装がたくさんありますsocket.io。それらのほとんどは、それらが非推奨であるか、より良いものが利用可能であると言っています.誰かが私に良い実装を提案できますか.

また、 を使用したブロードキャストに関するデモやサンプル コードも多数見られsocket.ioます。私の要件は、さまざまなメッセージをさまざまなクライアントにプッシュすることです。誰かがそのようなものを扱う良いデモやチュートリアルを教えてもらえますか?

ありがとう

4

3 に答える 3

53

著者として、Java で SocketIO サーバーの実装を試すことをお勧めします。

https://github.com/mrniko/netty-socketio

安定して実稼働可能なライブラリ。

于 2013-05-23T10:45:14.140 に答える
6

私たちは本番環境でこれを使用しています: Socket.IO-Java。私達は私達の条件によってそれをカスタマイズしました。しかし、主なケースでは、十分に機能します。

私の同僚はgithubでカスタマイズされたバージョンを共有しました。Jetty 8 を使用していますが、別のサーブレット コンテナーに問題がある可能性があります。また、XP が Microsoft によってサポートされていない場合は、WebSocket のみの実装を使用することを検討します。

于 2013-03-27T19:33:03.933 に答える
3

これを試すことができます: 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);
            }
       }
}); 
于 2016-01-26T23:37:30.180 に答える