在js中从websocket读取数据

时间:2018-08-25 16:47:06

标签: javascript qt websocket client

我有一个使用QWebSocketServer的服务。我的服务器能够处理客户端请求并将多个事件发送到客户端(没有任何请求,这一点很重要)。我已经用QWebSocket类测试了我的服务器,如Qt示例所示。一切正常。

现在我想在js中实现前端。而且我面对一件事我无法理解。如果客户端向服务器发送请求,则可以在客户端接收服务器的答复,但是如果服务器在没有客户端请求的情况下发送数据,我将无法接收此数据。

在我的js脚本中,我有通常的代码:

websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };

那么,为什么我不能在没有请求的情况下从服务器接收数据,我应该怎么做才能获得接收数据的能力?

1 个答案:

答案 0 :(得分:0)

服务器已从另一个线程发送消息,这就是问题的原因