我一直在Heroku上创建一个node.jss + express + socket.io应用程序。我最近意识到他们不支持websockets,这对于实时通信来说是理想的。它们强制您使用长轮询,而使用http代替。我想以正确的方式做到这一点,但另一方面,我不想再次设置这个项目,因为它只是一个概念证明/让我习惯了node.js。
这里的举动是什么?继续使用heroku然后可能稍后更改应用程序以使用套接字,或者使用与heroku不同的服务重新开始?这里要考虑的是我必须更改的代码量,以及坚持使用长轮询而不是websockets的功能的丧失。我不知道其中任何一个是如何实现的。
谢谢
答案 0 :(得分:5)
socket.io可以使用xhr-polling
代替websocket
正常工作。性能不会那么好,但很少有云产品支持它今天的多个实例。
现在nginx支持websocket,这可能很快就会改变。
答案 1 :(得分:1)
如果你想搞乱套接字和节点,我建议使用nodejitsu。我用它并且非常满意。我现在回到Heroku,因为它更符合我的需求(并且应用程序不需要实时交互和轮询就足够了)。 Nodejitsu支持实际的websockets。