Node.js socket.io не может подключиться к серверу

327
31 октября 2017, 01:01

Здравствуйте, делаю node.js сервер для уведомлений и сообщений. Домен имеет https и скорее всего поэтому не может подключиться. Сервер запускается, но через пару секунд на сайте в консоли возникают ошибки:

Код сервера:

var app = require('http').createServer(handler);
var io = require('socket.io')(app);
var crypto = require('crypto');
var formidable = require('formidable');
io.on('connection', function(socket){
    socket.on('auth', function(user){
        socket.join('notify-'+user.hash);
        console.log('-- auth user '+user.id+' -- '+user.hash);
    })
    socket.on('join-dialog', function(dialog_hash){
        socket.join('dialog-'+dialog_hash);
        console.log('dialog-'+dialog_hash);
    })
    socket.on('notify-send', function(to_user, notify){
        io.sockets.in('notify-'+to_user).emit('notify', notify);
        console.log('-- notify for '+notify.to_user_id+' -- '+notify.type);
    })
});
function handler(req, res) {
    if(res.socket.remoteAddress == '::ffff:127.0.0.1') {
        if(req.method == 'POST') {
            var form = new formidable.IncomingForm();
            form.parse(req, function(err, fields, files) {
                res.writeHead(200, [[ "Content-Type", "text/plain"]
                        , ["Content-Length", 0]
                        ]);
                res.write('');
                res.end();

                switch(fields.f){
                    case 'notify':
                        var to_user = crypto.createHash('md5').update(fields.to_user+'id').digest("hex");
                        io.sockets.in('notify-'+to_user).emit('notify', fields);
                        console.log('notify-'+to_user);
                        break;
                    case 'message':
                        var to_user = crypto.createHash('md5').update(fields.to_user+'id').digest("hex");
                        var dialog_hash = crypto.createHash('md5').update(fields.dialog_id+fields.to_user).digest("hex");
                        io.sockets.in('notify-'+to_user).emit('notify', fields);
                        io.sockets.in('dialog-'+dialog_hash).emit('message', fields);
                        console.log(dialog_hash);
                        break;
                }
            });
        }
    }
}
function handleServerNotice(){
}
app.listen(25538, function(){
});

Код клиента:

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
    var socket = io.connect('https://localhost:25538', {secure: true});
</script>

Помогите, пожалуйста.

READ ALSO
Почему при прокрутке вправо/влево между страницами пустое пространство?

Почему при прокрутке вправо/влево между страницами пустое пространство?

Нужен способ сделать так, чтобы все страницы перемещались влево, вправо, вниз и вверхПеремещение вниз и вверх работает нормально, а вправо...

372
Изменилось ли значение input?

Изменилось ли значение input?

Есть <input placeholder="Вопрос" onblur="myFunc(this)" onkeydown="myFunc2(this, event)" type="text">

286
Чтение данных бд в Cloud Functions в Firebase

Чтение данных бд в Cloud Functions в Firebase

Нужно сделать простую firebase функцию, которая формирует GET запрос и возвращает его результатНесколько параметров для запроса хранятся в бд firebase

191
Работа с Angular2

Работа с Angular2

Делаю лист с линками, где нужно добавлять, удалять, изменять и лайкать линки

252