在js中从websocket中读取数据
reading data from websocket in js
我有一个使用 QWebSocketServer 的服务。我的服务器能够处理客户端请求并向客户端发送多个事件(没有任何请求,这很重要)。我已经使用 QWebSocket class 测试了我的服务器,如 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) };
那么,为什么我无法在没有请求的情况下从服务器接收数据,我应该怎么做才能获得接收数据的能力?
服务器一直在从另一个线程发送消息,这就是问题的原因
我有一个使用 QWebSocketServer 的服务。我的服务器能够处理客户端请求并向客户端发送多个事件(没有任何请求,这很重要)。我已经使用 QWebSocket class 测试了我的服务器,如 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) };
那么,为什么我无法在没有请求的情况下从服务器接收数据,我应该怎么做才能获得接收数据的能力?
服务器一直在从另一个线程发送消息,这就是问题的原因