Socket.io与Heroku一起工作吗?

时间:2014-09-05 05:46:51

标签: node.js heroku socket.io

我试图找到这个问题的答案,而且我能找到的所有答案都是陈旧的,不,它没有"#34;或者"将来它会#34;。

我试过socket.io-redis但没有用。在Heroku上,一个dyno将创建工作套接字,不仅如此,你将从Socket.io中获得以下错误,这意味着没有扩展。

  

{"代码":1,"消息":"会话ID未知"}

在我看来,WebSocket"支持" Heroku声称对开发者来说真的是一个残酷的笑话。

修改 Heroku支持websockets,但它只是不能使用Redis的socket.io集群。所以我只运行一个专用于套接字的实例。当我想使用Heroku套接字时。

1 个答案:

答案 0 :(得分:2)

披露:我是Heroku的Node.js平台所有者。

tl; dr:我们在私有测试版中有多dyno socket.io支持。

Heroku完全支持WebSockets,它不需要会话亲和力,并且与socket.io不同。

Socket.io是一种更高级别的软实时抽象,它使用WebSockets作为其众多潜在传输之一。 Socket.io 需要会话亲和性,socket.io的任何多节点事件共享实现(在Heroku或其他地方)都需要socket.io-redis(或类似)。

粘性会话的大多数实现都会中断12factor architecture。我们现在为socket.io,meteor和sockjs用户提供灵活,可扩展,翻转开关的粘性会话测试版。如果您想加入,请发送电子邮件至hunter@heroku.com;我们会在接下来的几周内向公众开放。