问题标签 [socket.io-redis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
491 浏览

socket.io-1.0 - Php-redis 的问题 - socket.io 发送给特定用户

我遇到了带有 socket.io 的 php-redis 的问题,在他们的示例中 https://github.com/rase-/socket.io-php-emitter 我试图向在我的 socket.io 上设置的特定用户发出nodejs 服务器,在一个名为的变量中: var users = {}; 此 carible 包含套接字 ID,当用户连接到节点服务器时,我正在保存其套接字。在其 user_id users[data.id] = socket;

任何人都可以帮助我了解如何使用php redis以我的方式或其他方式发送给特定用户

0 投票
1 回答
2032 浏览

socket.io - socket.io - 在节点之间传递事件

我受到了启发:http ://socket.io/docs/using-multiple-nodes/#passing-events-between-nodes ,现在我想通过 redis 适配器同步我的两个 socket.io 实例。

这是我的代码:

当我连接到 server1.js(端口 3000)时 - 我看到了“连接。test = 1',很好,但是第二台服务器的控制台还是干净的。我希望第二台服务器(端口 4000)做同样的事情(打印 'connection = 1')。

我做错了什么?你能告诉我一个如何使用适配器的例子吗?

谢谢

0 投票
1 回答
930 浏览

node.js - nodejs 集群 - socket.io-emitter 向特定客户端发送数据

我正在使用 nodejs 集群构建 nodejs - socket.io 应用程序。

socket.io-redis

socket.io 发射器

它的工作但是,发送到所有连接的套接字。如何在不使用房间类型的情况下选择特定客户。喜欢,

在 socket.io 集群应用程序上选择特定客户端的任何想法?

0 投票
1 回答
2070 浏览

node.js - 使用 redis 水平扩展使用 socket.io 的 express/node.js

我正在尝试通过快速后端进行扩展。问题是每次用户进来或我重新启动服务器时,它都会获得一个新的socket.id。另外,我无法将整个套接字保存到内存中,因为它给了我一个 [Circular JSON] 问题。如何将套接字的某些部分保存到 redis 中,以便我从其他服务器检索相同的套接字?

0 投票
0 回答
915 浏览

socket.io-1.0 - Socket.IO 检查房间是否包含带有 socket.io-redis 的客户端

检查某个房间是否已连接客户端甚至是否存在的“有效方法”是什么?

使用 socket.io 和 redis 适配器的多个实例是否有效?我希望可以使用这样的东西:

0 投票
0 回答
219 浏览

node.js - socket.io 发射到房间会断开一些客户端

我正在使用 socket.io 0.9 运行 node.js 服务器。(xhr-轮询)

我试图模拟连接到一个大房间的 300 个客户端。

我注意到当我向房间里的所有成员发送一条消息时,房间里大约有 40-50 人将被断开连接!

向房间里的每个人发送消息的语法:

io.sockets.in(roomId).emit("abc", "efg");

如果我将房间中的客户端数量减少到 100 个就可以了。向房间发送消息不会断开它们的连接。

这绝对不能接受。怎么了?

0 投票
0 回答
248 浏览

node.js - 带有 redis 存储的 Socket.io 在 AMQP 的回调函数消费中发出事件

我想使用nodejs服务器接收来自 的消息,然后通过withAMQP将这些消息推送到网页。socket.ioredis

emit()函数在 AMQP 的回调函数consume中调用,Web UI 可以获取这些数据。但是,我在 ? 中找不到任何数据redis

代码

回调函数AMQP

我可以使用这个 APIemit()吗?或错过任何好把戏?

0 投票
1 回答
575 浏览

node.js - 使用 socket.io-redis 和 RedisToGo 在 Heroku 上扩展到 2+ dynos

我正在尝试使用 socket.io-redis 将我在 Heroku 上的应用程序扩展到 2 个 dynos(或更多)。这是我的代码(其中 config.redis 只是一个包含 RedisToGo 端口、主机和传递值的对象):

在客户端,我有:

..so socket.io 不会尝试使用轮询。

我还为 RedisToGo 配置了正确的 Heroku 环境变量(REDISTOGO_HOST、REDISTOGO_PASS、REDISTOGO_PORT)。

当我们缩放到 1 dyno 时,套接字行为是完美的。在 2 个 dyno 上,行为是偏离的 - 请求是随机向 1 个 dyno 或另一个发出的,并且发出的套接字事件仅发送到在发出请求的 dyno 上运行的客户端,而不是全部(哪个套接字.io-redis 和 RedisToGo 应该照顾)。

任何想法将不胜感激!

0 投票
4 回答
2727 浏览

node.js - 如何在具有多个节点和 socket.io-redis 的 socket.io 中检查套接字是否处于活动状态(已连接)

我正在使用带有多个节点、socket.io-redis 和 nginx 的 socket.io。我遵循本指南:http ://socket.io/docs/using-multiple-nodes/

我正在尝试做:在一个函数(服务器站点)上,我想通过 socketid 查询此套接字已连接或断开连接

我试过io.of('namespace').connected[socketid]了,它只适用于当前进程(这意味着它只能检查当前进程)。

任何人都可以帮助我吗?感谢提前。

0 投票
1 回答
3427 浏览

javascript - Socket.IO - 如何向房间里的每个人发出事件,包括发送者?

在我的 Socket.Io / Node.Js / Express 应用程序中——在我添加聊天室之前——我曾经为每个人(包括发送者)发出这样的事件:

现在我添加了房间并尝试使用

或者

但两者都只将消息发送给接收者,而不是发送者。

我应该怎么做才能让这条消息也发送给聊天室中的发件人?