我正在尝试将一个 socket.io 进程扩展到 Heroku 上的多个 dyno,它不提供粘性会话路由,并希望通过使用 WebSockets 作为唯一的传输来解决这个问题。 有没有办法用 1.1 做到这一点? 也很好奇是否有人知道这样做除了失去浏览器兼容性之外还有什么缺点?
AFAIK IE8 和 IE9 将无法使用 websockets。
要强制您的客户端仅使用 websocket,在您的客户端代码中,您可以使用以下内容:
io.connect("http://your.domain.com", {transsports: ['websocket']});
如果 Websocket 连接失败(或者它可能首先尝试使用其他连接方法),似乎这仍然会回退到使用其他传输
@distracteddev使用{transports: ['websocket']}
时不应使用任何其他传输。 有什么东西(比如调试输出)似乎另有说明吗?
如果您的连接仅适用于它们,您可能也应该将传输限制为仅服务器上的 WebSocket 传输。
最有用的评论
AFAIK IE8 和 IE9 将无法使用 websockets。
要强制您的客户端仅使用 websocket,在您的客户端代码中,您可以使用以下内容:
io.connect("http://your.domain.com", {transsports: ['websocket']});