Работа с WebSocket

Мобильные сервисы для передачи мгновенных сообщений использует протокол websocket.

Передача уведомлений осуществляется при помощи «пакетной» передачи данных — механизм аналогичный синхронизации.

NML175.........0{"stringSize":29,"binarySize":0,"attachments":[],"bufferBlockToLength":207,"bufferBlockFromLength":0,"transaction":false,"dataInfo":"mail","version":"v2","id":"1599022001522"}[{"name":"to0","length":207}]{"action":"cd_notifications","method":"Add","data":[[{"fn_user_to":null,"fn_user_from":null,"c_message":"Hello","c_title":"Уведомление","d_date":"2020-09-02T04:46:39.785Z"}]],"tid":0,"type":"rpc"}

Выше показан пример пакета для отправки уведомлений.

Создание слушателя в NodeJS

Переходим в каталог modules/socket и находим там файл main.js В этом файле выполняется регистрация нового слушателя.

Файл для регистрации слушателя

Пример для регистрации трекинга передвижения:

// файл для прослушивания tracking
var mailer = require('./mailer');

module.exports = function (in_req, in_res, socket) {
    return function (buffer) {
        var res = Object.assign({}, in_res);
        var req = Object.assign({}, in_req);
        req.socket = socket;
        
        mailer.to(req, res, buffer);
    }
}

// привязка к websocket
...
var trackingHandler = require('./tracking-handler');
...
exports.on = function (io_obj) {
    ...
    socket.on('tracking', trackingHandler(req, res, socket));
    ...
}

Print Friendly, PDF & Email

Добавить комментарий