Как отправить сообщение из браузера при использовании 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}
});