Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
Node.js socket.io客户端可以';t从XHR长轮询升级到websocket_Node.js_Heroku_Websocket_Socket.io_Long Polling - Fatal编程技术网

Node.js socket.io客户端可以';t从XHR长轮询升级到websocket

Node.js socket.io客户端可以';t从XHR长轮询升级到websocket,node.js,heroku,websocket,socket.io,long-polling,Node.js,Heroku,Websocket,Socket.io,Long Polling,我们有一个服务器,它在Heroku上的NodeJS中实现socket.io 我们有一批客户(Raspberry pi)分布在全国不同的网络上。他们在NodeJS应用程序中实现socket.io客户端 它在17/18设备上运行良好。我们确实有一个设备无法将socket.io连接从长轮询类型升级到实际的websocket 我找不到原因 我们的服务器使用以下选项进行设置: 这是heroku服务器上关于与问题客户机连接的日志: 由于所有客户端的设置方式都完全相同,因此我并不怀疑树莓本身有任何问题 这

我们有一个服务器,它在Heroku上的NodeJS中实现socket.io

我们有一批客户(Raspberry pi)分布在全国不同的网络上。他们在NodeJS应用程序中实现socket.io客户端

它在17/18设备上运行良好。我们确实有一个设备无法将socket.io连接从长轮询类型升级到实际的websocket

我找不到原因

我们的服务器使用以下选项进行设置:

这是heroku服务器上关于与问题客户机连接的日志:

由于所有客户端的设置方式都完全相同,因此我并不怀疑树莓本身有任何问题

这台客户端所在的位置可能是网络问题吗? -在路由器后面,阻塞某些端口等

希望你能对可能出现的问题提出一些建议。
您可以告知是否需要更多信息。

如果所有Pi的设置完全相同(例如,通过克隆SD卡映像),则很可能是网络相关问题。不过,鉴于你问题中的信息量,我不确定是否有可能解决。谢谢@Capricorn的评论。它们是通过克隆SD卡映像实现的。问题是,即使是网络也应该以相同的方式设置,因为我们的客户使用相同的Internet提供商和路由器设置。由于我不是任何网络专家,我正在寻找一个可能的方向。例如,WebSocket是否需要开放端口?据我所知,他们只需要标准端口80或443即可工作。