之前我会
<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
所以我确实向websocket(从浏览器)发送消息到你加入的房间?
我错过了什么?
http://sailsjs.org/documentation/reference/web-sockets/socket-client
答案 0 :(得分:1)
目前sails.socket中没有方法.emit()
。
您应该使用.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}
});