Доброе время суток, делаю чат на node.js и socket.io написал код сервера
var options = {
// 'log level': 0
};
var fs = require('fs'),
express = require('express'),
app = express(),
socketio = require('socket.io'),
config = require('./config');
var serverPort = config.port || 9876, // Listen port
secure = config.secure || false; // use HTTPS/SSL
var app = express();
if (secure)
{
var options = {
key: fs.readFileSync(config.secure_key),
cert: fs.readFileSync(config.secure_cert)
};
var server = require('https').createServer(options, app);
} else
{
var server = require('http').createServer(app);
}
server.listen(serverPort, function() {
var addr = server.address();
console.log(' app listening on ' + (secure ? 'https://' : 'http://') + addr.address + ':' + addr.port);
});
var io = require('socket.io').listen(server, options);
app.use('/static', express.static(__dirname + '/static'));
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (client) {
client.on('message', function (message) {
try {
client.emit('message', message);
client.broadcast.emit('message', message);
} catch (e) {
console.log(e);
client.disconnect();
}
});
});
и конфиг
{
"port": "9876",
"secure": true,
"secure_key" : "/opt/privkey.pem",
"secure_cert" : "/opt/fullchain.pem"
}
Запускаю получаю
info - socket.io started
(node:7513) DeprecationWarning: process.EventEmitter is deprecated. Use require('events') instead.
app listening on
https://:::9876
но после того как пытаюсь подключится например через браузер
https://site.ru:9876/socket.io/socket.io.js node падает с ошибкой Segmentation fault. Может кто подсказать в связи с чем возникает ошибка сегментации?