Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Play framework websocket发生此情况时未向前端发送消息_Javascript_Java_Playframework_Websocket - Fatal编程技术网

Javascript Play framework websocket发生此情况时未向前端发送消息

Javascript Play framework websocket发生此情况时未向前端发送消息,javascript,java,playframework,websocket,Javascript,Java,Playframework,Websocket,我们需要在for循环中向前端发送消息,我们考虑使用websocket来实现这一点 我们的Js代码(前端–这里的wsInterfaceBulkChecks是元素id@html页面) 路由器配置 GET/bvWSInterface@controllers.admin.BulkChecks.bvWSInterface() Java代码 public WebSocket<String> bvWSInterface() { return new WebSocket<St

我们需要在for循环中向前端发送消息,我们考虑使用websocket来实现这一点

我们的Js代码(前端–这里的wsInterfaceBulkChecks是元素id@html页面)

路由器配置 GET/bvWSInterface@controllers.admin.BulkChecks.bvWSInterface()

Java代码

public WebSocket<String> bvWSInterface() {

        return new WebSocket<String>() {
            // called when websocket handshake is done
            public void onReady(WebSocket.In<String> in, WebSocket.Out<String> out) {

                for (int i=0; i<5; i++) {
                    out.write("Count: " + i);
                    try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }                
                }
            }
        };
    }
公共WebSocket bvWSInterface(){
返回新的WebSocket(){
//完成websocket握手时调用
public void onReady(WebSocket.In,WebSocket.Out){
对于(int i=0;我等待2秒

打印1->等待2秒等

为什么web套接字一次将所有0-4条消息发送到前端?(我们认为它应该在发送到前端的消息之间间隔2秒时发送)。请帮助我们解决此问题。

尝试使用此方法

new Thread(new Runnable() {
                @Override
                public void run() {
                     for (int i=0; i<5; i++) {
                         out.write("Count: " + i);
                         try {
                           Thread.sleep(2000);
                         } catch (InterruptedException e) {
                           e.printStackTrace();
                         }          
                      }
                     }
  }).start();
new线程(new Runnable()){
@凌驾
公开募捐{

for(inti=0;itx)的帮助。我将尝试一下。
new Thread(new Runnable() {
                @Override
                public void run() {
                     for (int i=0; i<5; i++) {
                         out.write("Count: " + i);
                         try {
                           Thread.sleep(2000);
                         } catch (InterruptedException e) {
                           e.printStackTrace();
                         }          
                      }
                     }
  }).start();