通过get请求向Socket.IO发送消息

时间:2011-08-18 20:01:47

标签: javascript sockets node.js socket.io

我有一个服务Socket.io的express node.js服务器。我希望能够向快速服务器发出获取请求,该请求将自动向消息发送消息。

var app = require('express').createServer()
  , io = require('socket.io').listen(app)
app.listen(80);
app.get('/:channel/:message', function (req, res) {
  //Code to create socket
  socket.emit("sent from get", {channel:req.params.channel, message:req.params.message})
});

io.sockets.on('connection', function (socket) {
  socket.on('sent from get', function (data) {
    socket.broadcast.to(data.channel).emit('channel message', { message: data.message});
  });
});

如何在app.get块中创建(并销毁)套接字连接?

(为清楚起见,我想使用它在保存特定对象时从rails服务器发送快速消息,并将消息推送给每个适当的用户。)

2 个答案:

答案 0 :(得分:1)

io.sockets.in(req.params.channel).emit("channel message", {mes:req.params.message})

这将向所请求频道中的所有用户发送消息。

答案 1 :(得分:0)

var chat = io.of('/chat').on('connection', function (socket) {
socket.emit('a message', { that: 'only', '/chat': 'will get' });
chat.emit('a message', { everyone: 'in', '/chat': 'will get' }); });

以下示例定义了一个侦听'/ chat'

的套接字