繁体   English   中英

带有Socket.io的Node.js-长轮询失败,并抛出“代码”:1,“消息”:“会话ID未知”响应

[英]Node.js with Socket.io - Long Polling fails and throws “code”:1,“message”:“Session ID unknown” response

请提供解决方案-我所有的套接字轮询请求均失败,并出现以下错误。

{"code":1,"message":"Session ID unknown"}

?EIO=3&transport=polling&t=LqtR6Rn&sid=0JFGcEFNdrS-XBZxHAXM ,这是客户端对服务器进行的长时间轮询,如果您在此处看到它正在传递sessionId,则该节点标识已为其提出请求的套接字连接,回应。

但是在某些情况下,例如与处理多个节点/ Amazon ELB一样,呼叫可能会转到其他未生成此会话的节点,在这种情况下,该节点将无法识别进行呼叫的sessionId,因此回复{“ code”:1,“ message”:“会话ID未知”}

如果长时间的投票没有得到回答或超时,您还将看到此错误。

Nginx的

您将在上游服务器定义和一些标头中需要ip_hash

SocketIO NginX配置(使用多个节点)

亚马逊ELB

对于那些在亚马逊ELB背后遇到此问题的人,请确保启用应用程序控制的会话粘性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM