Как отправить сообщение из браузера при использовании Sails.io.js

Прежде чем я просто

<script>
var socket = io.connect(URL);
socket.emit("hello", {});
</script>

Используя Sails.io.js, я попробовал io.sails.emit("myevent", jsonData)... но не могу этого сделать:

io.socket.emit is not a function

Так я действительно посылаю сообщение в веб-сокет (из браузера) в комнату, к которой вы присоединились?

Что мне не хватает?

http://sailsjs.org/documentation/reference/web-sockets/socket-client

1 ответ

Решение

В настоящее время нет метода .emit() в sails.socket.

Вы должны использовать .get(), .post(), .put(), или же .delete(),

Как это использовать:

вместо

socket.emit('eventName', jsonData)

теперь вы используете:

socket.get('routeToController', jsonData, callback);

Пример:

Вы можете создать контроллер SocketController.js

module.exports = {
    myevent: function(req, res) {
        res.json({
            value: 1
        });
    }
};

в config/routes.js добавлять:

'GET /socket/myevent': 'SocketController.myevent'

и теперь вы можете позвонить:

socket.get('/socket/myevent', jsonData, function(error, data){
    //data = {value: 1}
});
Другие вопросы по тегам