Node.js socket.io socket.emit始终在本地主机上工作,但有时在Heroku上工作

Node.js socket.io socket.emit始终在本地主机上工作,但有时在Heroku上工作,node.js,heroku,socket.io,Node.js,Heroku,Socket.io,我能够在本地主机上使用socket.io服务,连接到名称空间并发送消息等。它完全可以正常工作。但当我在Heroku上部署时,我发现socket.emit并不总是有效的,它有时也有效。我是否需要做一些额外的事情才能在Heroku上工作 先谢谢你 编辑: 在连续请求socket.emit大约4次之后,它每次都工作并发出。stange行为..是否会像您的应用程序被移动到Heroku中的其他服务器/dyno那样简单?当我第一次在那里部署应用程序时,我花了一点时间才明白为什么会话会消失——我只把它们保存在

我能够在本地主机上使用socket.io服务,连接到名称空间并发送消息等。它完全可以正常工作。但当我在Heroku上部署时,我发现socket.emit并不总是有效的,它有时也有效。我是否需要做一些额外的事情才能在Heroku上工作

先谢谢你

编辑:
在连续请求socket.emit大约4次之后,它每次都工作并发出。stange行为..

是否会像您的应用程序被移动到Heroku中的其他服务器/dyno那样简单?当我第一次在那里部署应用程序时,我花了一点时间才明白为什么会话会消失——我只把它们保存在内存中。除非你要持久化一些东西,让运行你的应用程序的下一台服务器从上一台服务器停止的位置恢复,否则它无法保持连接。所以,我怀疑你的问题会以同样的方式得到解决,但你得到它的原因却不完全相同


也可能给您提供一些有用的相关信息

“免费和业余dyno类型仅支持每个进程类型最多运行一个dyno。此外,使用免费dyno类型的应用程序最多只能有两个并发运行的dyno。我不确定“socket.emit”是否有两个dyno同时运行。如果是这样的话,我想我必须使用@Alex