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

Sending message to Socket.IO via get request

本文关键字:通过 get 请求 IO 消息 Socket      更新时间:2023-09-26

我有一个express node.js服务器服务Socket.io。我希望能够使get请求的快车服务器,将自动发送消息到一个通道的能力。

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服务器发送一条快速消息,并将消息推送给每个适当的用户。)

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

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

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'

的套接字