对于实时node.js消息传递应用程序,我是否可以在Heroku中使用不带websockets的相同功能?

时间:2013-03-02 10:26:11

标签: node.js heroku express websocket socket.io

我一直在Heroku上创建一个node.jss + express + socket.io应用程序。我最近意识到他们不支持websockets,这对于实时通信来说是理想的。它们强制您使用长轮询,而使用http代替。我想以正确的方式做到这一点,但另一方面,我不想再次设置这个项目,因为它只是一个概念证明/让我习惯了node.js。

这里的举动是什么?继续使用heroku然后可能稍后更改应用程序以使用套接字,或者使用与heroku不同的服务重新开始?这里要考虑的是我必须更改的代码量,以及坚持使用长轮询而不是websockets的功能的丧失。我不知道其中任何一个是如何实现的。

谢谢

2 个答案:

答案 0 :(得分:5)

socket.io可以使用xhr-polling代替websocket正常工作。性能不会那么好,但很少有云产品支持它今天的多个实例。

现在nginx支持websocket,这可能很快就会改变。

答案 1 :(得分:1)

如果你想搞乱套接字和节点,我建议使用nodejitsu。我用它并且非常满意。我现在回到Heroku,因为它更符合我的需求(并且应用程序不需要实时交互和轮询就足够了)。 Nodejitsu支持实际的websockets。