2

我正在尝试使用 playframework 不断地将数据从网络服务器流式传输到浏览器。我根据示例文档创建了一个示例代码

这是我的代码片段

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 演员。Actor 系统不是很难理解,Akka 文档是一个很好的起点!

于 2012-08-30T18:59:12.973 回答