Сделать socket.io глобальным

292
13 марта 2017, 10:56

Есть app.js

    var express = require('express')
        , http = require('http');
    var app = express();
    var server = http.createServer(app);
    var io = require('socket.io').listen(server);
    server.listen(8080);

В нем есть обработчик маршрута(в котором мы создаем соединение сокета):

app.get('/', function (req, res, next) {
    res.sendFile(path.join(__dirname + '/index.html'));
    next();
}, function (req, res) {
    connection.list(function (err, result) {
        io.sockets.on('connection', function (socket) {
            socket.emit('dataEvent', result);
        });
    });
    console.log('Hello');
});

Внимание! Как в другой обработчик маршрута передать сокет? Например в этот, таким образом, чтобы my other event сработало:

app.post('/register', function (req, res) {
    var groupEvents = req.body.groupEvents,
        startEvents = req.body.startEvents,
        endEvents = req.body.endEvents,
        nameEvents = req.body.nameEvents,
        colorEvents = req.body.colorEvents;
    var result = {
        id_group: groupEvents,
        dt_start: startEvents,
        dt_end: endEvents,
        name: nameEvents,
        color: colorEvents
    }
        socket.on('my other event', function (result) {
           console.log(result);
        });
    connection.addPost(result);
    res.redirect('/');
});

P.S global socket = socket; не предлагать ( работает через раз) Как создать io.sockets.on('connection' чтобы можно было аккуратно пользоваться socket-ом.

READ ALSO
После смены с mysql на mysqli появилась ошибка Unexpected end of JSON input

После смены с mysql на mysqli появилась ошибка Unexpected end of JSON input

Начал переводить код с mysql на mysqli, все работало, но когда дело дошло до json, то почему-то он начал выдавать ошибки

294
slick slider как убрать border

slick slider как убрать border

Возможно ли в примере ниже убрать border-right у 1 и 2, 4 и 5То есть, чтобы везде был border одинаковой ширины, а сейчас границы по центру в 2 раза

339
Передача дополнительного поля с input

Передача дополнительного поля с input

У меня есть форма, содержащая несколько полей inputЯ собираю значения из БД и вставляю их в эти input

241
Math.random predict

Math.random predict

Здравствуйте! Скажите, как угадать следующие хотя-бы пару чисел с такого кода javascript:

283