And*_*rew 14 timeout heroku websocket node.js express
我们在Heroku上运行一个Node.js和Express应用程序,它将ws库用于实时Web套接字.下面是我们看到的众多H15超时的屏幕截图.
我已经读过Heroku在55秒后终止任何空闲连接,但是当连接打开时,我们的套接字每5秒来回发送一次乒乓球.一段服务器代码如下:
var _this = this;
this.server.on('connection', function(ws){
// check for a ping, respond with pong
ws.on('message', function(data){
data = data.toString('utf8');
if (data === PING) {
ws.send(PONG);
}
});
ws.on('close', function(err){
TL.logger.info('Socket closed: '+path);
_this.sockets = _.filter(_this.sockets, function(_ws){
return ws != _ws;
});
});
ws.on('error', function(err){
TL.logger.info('Socket error: '+path);
_this.sockets = _.filter(_this.sockets, function(_ws){
return ws != _ws;
});
});
_this.sockets.push(ws);
});
Run Code Online (Sandbox Code Playgroud)
这是chrome中客户端插槽的图片:
任何想法是如何防止空闲连接?
披露:我是 Heroku 的 Node.js 平台所有者。
您在客户端看到这个吗?或者只是错误报告仪表板?
我建议集中精力在至少一个客户端上重现错误,看看是否确实有任何影响。否则,您可能会浪费时间调试误报。
如果您决定继续调试,您可能需要安装免费的 papertrail / nodetime / new relic / Strongloop 插件来准确找出哪些请求正在触发 H15。
归档时间: |
|
查看次数: |
2628 次 |
最近记录: |