Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
SockJS websocket握手,但XHR调用Meteor应用程序_Websocket_Meteor_Sockjs - Fatal编程技术网

SockJS websocket握手,但XHR调用Meteor应用程序

SockJS websocket握手,但XHR调用Meteor应用程序,websocket,meteor,sockjs,Websocket,Meteor,Sockjs,我最近在HTTP服务器上启用了WebSocket,它代理我正在运行的Meteor应用程序。我看到它进行握手(即“交换协议”),但浏览器中的所有日志似乎都表明SockJS仍在使用HTTP XHR进行通信 有人能解释为什么会这样吗?我们正在使用Apache2.2和mod proxy_wstunnel的后端口。我已经测试了一个独立的Websockets应用程序(不是Meteor),效果很好 下面是我在浏览器控制台中看到的内容的快照,但此后每隔30秒我就会看到一次XHR POST [15:45:

我最近在HTTP服务器上启用了WebSocket,它代理我正在运行的Meteor应用程序。我看到它进行握手(即“交换协议”),但浏览器中的所有日志似乎都表明SockJS仍在使用HTTP XHR进行通信

有人能解释为什么会这样吗?我们正在使用Apache2.2和mod proxy_wstunnel的后端口。我已经测试了一个独立的Websockets应用程序(不是Meteor),效果很好

下面是我在浏览器控制台中看到的内容的快照,但此后每隔30秒我就会看到一次XHR POST

    [15:45:06.976] GET http://ma-meteor.envx.com/sockjs/251/svmzngwb/websocket [HTTP/1.1 101 Switching Protocols 9ms]
    [15:45:07.681] POST http://ma-meteor.envx.com/sockjs/251/imibln7d/xhr [HTTP/1.1 200 OK 8ms]
    [15:45:07.682] POST http://ma-meteor.envx.com/sockjs/251/imibln7d/xhr_send [HTTP/1.1 204 No Content 8ms]
    [15:45:07.682] POST http://ma-meteor.envx.com/sockjs/251/imibln7d/xhr [HTTP/1.1 200 OK 8ms]
    [15:45:07.683] POST http://ma-meteor.envx.com/sockjs/251/imibln7d/xhr [HTTP/1.1 200 OK 6ms]
    [15:45:07.641] Connected to Meteor Server.

什么操作系统?我在Windows7上运行Tomcat7.0.55时也遇到了同样的问题。当我在Windows8.1上运行它时,SocksJS能够在WS上通信;它没有降级为XHR streaming.Linux。事实证明,我们需要更新负载平衡器上的版本,以便它支持WS。