Heroku Node.js WebSocket 服务器
Posted
技术标签:
【中文标题】Heroku Node.js WebSocket 服务器【英文标题】:Heroku Node.js WebSocket Server 【发布时间】:2014-04-07 22:30:47 【问题描述】:Heroku 开发中心文章 Using WebSockets on Heroku with Node.js 解释了如何部署使用 Express 的 Node.js Websocket Test demo application。
但是,我正在部署一个不使用 Express 的 Node.js WebSocket chat server。
当我尝试使用wscat -c ws://my-app.herokuapp.com/1
从终端连接时,我得到error: Error: unexpected server response (503)
。而且,heroku logs
返回code=H14 desc="No web processes running"
。
为什么?我该如何解决这个问题?
注意:我的Procfile
是正确的:web: node server.js
。
【问题讨论】:
【参考方案1】:解决方案:删除并重新创建应用。
我把Node.js WebSocket chat server的第一行改成了:
var webSocketServer = new (require('ws')).Server(
server: require('http').createServer(function (request, response)
response.end()
).listen(process.env.PORT || 5000)
),
还是不行。
然后,我删除并重新创建了 Heroku 应用程序并进行了部署。工作。
然后,我把第一行改回:
var webSocketServer = new (require('ws')).Server(port: (process.env.PORT || 5000)),
并重新部署。仍然有效!
【讨论】:
【参考方案2】:您能否与curl -vD
联系以获取有关您的服务器正在发送哪些标头的详细信息?
【讨论】:
以上是关于Heroku Node.js WebSocket 服务器的主要内容,如果未能解决你的问题,请参考以下文章
与 Hasura 的 WebSocket 连接不适用于 Node.js 上的 ApolloClient v3
无法创建到 Node.js socket.io 服务器的跨域 websocket 连接