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

发布于 2024-11-30 09:02:22 字数 692 浏览 0 评论 0原文

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

I have an express node.js server serving Socket.io. I would like the ability to make get requests to the express server that will automatically send a message to a channel.

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});
  });
});

How to I create (and destroy) a socket connection in the app.get block?

(For clarity, I want to use this to send a quick message from a rails server when a particular object is saved, and have a message pushed to each appropriate user.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦罢 2024-12-07 09:02:22
io.sockets.in(req.params.channel).emit("channel message", {mes:req.params.message})

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

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

That will send a message to all users in the requested channel.

素食主义者 2024-12-07 09:02:22
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”的套接字

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' }); });

The following example defines a socket that listens on '/chat'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文