使用 Sails.io.js 时如何从浏览器发出消息
how to emit a message from browser when using 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
所以我真的向 websocket(从浏览器)向您加入的房间发送了一条消息?
我错过了什么?
http://sailsjs.org/documentation/reference/web-sockets/socket-client
目前 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}
});
之前我只是
<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
目前 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}
});