Node.js socket.io客户端可以';t从XHR长轮询升级到websocket
我们有一个服务器,它在Heroku上的NodeJS中实现socket.io 我们有一批客户(Raspberry pi)分布在全国不同的网络上。他们在NodeJS应用程序中实现socket.io客户端 它在17/18设备上运行良好。我们确实有一个设备无法将socket.io连接从长轮询类型升级到实际的websocket 我找不到原因 我们的服务器使用以下选项进行设置: 这是heroku服务器上关于与问题客户机连接的日志: 由于所有客户端的设置方式都完全相同,因此我并不怀疑树莓本身有任何问题 这台客户端所在的位置可能是网络问题吗? -在路由器后面,阻塞某些端口等 希望你能对可能出现的问题提出一些建议。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服务器上关于与问题客户机连接的日志: 由于所有客户端的设置方式都完全相同,因此我并不怀疑树莓本身有任何问题 这
您可以告知是否需要更多信息。如果所有Pi的设置完全相同(例如,通过克隆SD卡映像),则很可能是网络相关问题。不过,鉴于你问题中的信息量,我不确定是否有可能解决。谢谢@Capricorn的评论。它们是通过克隆SD卡映像实现的。问题是,即使是网络也应该以相同的方式设置,因为我们的客户使用相同的Internet提供商和路由器设置。由于我不是任何网络专家,我正在寻找一个可能的方向。例如,WebSocket是否需要开放端口?据我所知,他们只需要标准端口80或443即可工作。