2015-01-07 3 views
5

В соответствии с новой версией парусов v0.11 функция onConnect устарела в файле config/sockets.js. Я не мог реализовать события socket.on или вызывать события сокета со стороны сервера. Есть ли способ реализовать?Sails 0.11 события солодки со стороны сервера

работает путем обновления кода в config/bootstrap.js, как @mikermcneil предложил:

module.exports.bootstrap = function(cb) { 
    sails.io.on('connect', function (socket){ 
     socket.on('testE', function(data) { 
      socket.emit('testEvent',{p1:'hehe'}); 
     }); 
    }); 
cb(); 
}; 

ответ

4

ЗАКАНЧИВАТЬ Руководство по миграции здесь: https://github.com/balderdashy/sails/blob/master/0.11-migration-guide.md#onconnect-lifecycle-callback

onConnect жизненный цикл обратного вызова

tldr;

Снять onConnect с config/sockets.js.

Обратный вызов жизненного цикла onConnect устарел. Вместо этого, если вам нужно что-то сделать, когда подключен новый сокет, отправьте запрос от недавно подключенного клиента, чтобы сделать это. Цель onConnect всегда заключалась в оптимизации производительности (исключая необходимость сделать этот начальный дополнительный раунд с сервером), но его использование может привести к путанице и условиям гонки. Если вам отчаянно нужно устранить серверный маршрут, вы можете привязать обработчик непосредственно к sails.io.on('connect', function (newlyConnectedSocket){}) в своей начальной загрузке (config/bootstrap.js). Однако обратите внимание, что это не рекомендуется. Если вы не столкнулись с проблемой true, вы должны использовать стратегию, упомянутую выше для вашей логики «по подключению» (т. Е. Отправить первоначальный запрос от клиента после подключения сокета). Запросы сокетов являются легкими, поэтому это не добавляет каких-либо ощутимых накладных расходов на ваше приложение, и это поможет сделать ваш код более предсказуемым.

+1

Да, я прочитал документ раньше, но не сконцентрировался, так как этот метод обескуражен. Я добавил код в bootstrap.js, как в вышеперечисленном обновленном вопросе :) Теперь его работа, спасибо ... –

Смежные вопросы