2

playframework を使用して、Web サーバーからブラウザにデータを継続的にストリーミングしようとしています。サンプルドキュメントに基づいてサンプルコードを作成しました

ここに私が持っているコードのスニペットがあります

public static WebSocket<String> sockHandler() {
    return new WebSocket<String>() {
        // called when the websocket is established
        public void onReady(WebSocket.In<String> in, final WebSocket.Out<String> out) {
            // register a callback for processing instream events
            in.onMessage(new F.Callback<String>() {
                public void invoke(String event) {
                    Logger.info(event);
                }
            });


            int i = 0;
            while(i<20){
                Logger.info("Sending message ");
                try{
                    Thread.sleep(1000);
                }catch (Exception e){
                   Logger.error("Exception " ,e);
                }

                out.write("Sending message " + i++ + "\n");

            }
        }
    };
}

ブラウザーでは、out に書き込まれたメッセージは、各反復の直後には受信されません。while ループが完了すると、ブラウザでメッセージが一斉に受信されます。

各反復後にストリームをフラッシュする方法はありますか..? または、websocket サーバーからブラウザーにライブ データをストリーミングするためのより良い例/ドキュメントはありますか?

ありがとう、ラジャ。

4

1 に答える 1

1

このサンプルをご覧になることを強くお勧めします。

Websockets と Akka アクターを使用します。アクター システムを理解するのはそれほど難しくありません。Akka のドキュメントを参考にしてください。

于 2012-08-30T18:59:12.973 に答える