套接字io +节点错误:几小时后使用< getaddrinfo EADDRINFO 100个连接

时间:2015-08-27 22:18:31

标签: node.js sockets ubuntu https socket.io

我有一个节点+套接字服务器正在运行,只是向客户端发送。客户端位于https域名上。几个小时后,我的套接字服务器开始记录{ [Error: getaddrinfo EADDRINFO] code: 'EADDRINFO', errno: 'EADDRINFO', syscall: 'getaddrinfo', fatal: true }终止所有websocket连接,并且在我重新启动运行服务器的脚本之前没有得到纠正。我重新启动服务器脚本后,一切都很好,持续2-3个小时。

负载很低,只有我在网络浏览器中打开10 - 30个标签。

我已经搜索了所有这些以及其他问题256844511256520929536649

正如我所提到的,我的域名是https://redacted.com,因此我认为套接字服务器需要也是https,这就是我构建它的方式。

是硬件吗? Ubuntu的开放文件限制? https问题? DNS路由问题?插座连接限制?我怎么测试?

Ubuntu 14.04,nodeJS v0.10.25,Socket.io 1.3.6。在AWS t2.micro进行测试。

服务器:

var https = require('https'),
  fs = require('fs'),
  mysql = require('mysql');

var options = {
  key: fs.readFileSync('/etc/ssl/certs/key2/redacted.key'),
  cert: fs.readFileSync('/etc/ssl/certs/key2/STAR_redacted_com.crt'),
  ca: fs.readFileSync('/etc/ssl/certs/key2/redacted.ca-bundle')
};

var app = https.createServer(options);
var client = require('socket.io').listen(app);     //socket.io server listens to https connections
app.listen(8080);

var connected = 1;
client.on('connection', function(socket){
  function sendStatus(s){
    socket.emit('status', s);
  }
  sendStatus('Connected');
console.log(connected);
connected++;
});

客户端:

try{
  var socket = new io.connect('ws.redacted.com:8080');
  //var socket = io.connect('ws.redacted.com:8080');
  console.log(socket);
}catch(e){
  //set status to warn user
console.log('3');
  console.log(e);
} 

0 个答案:

没有答案
相关问题