gpt4 book ai didi

node.js - Primus.io 拦截服务器上的数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:51 27 4
gpt4 key购买 nike

我在 Express 4 服务器上使用 Primus.io 和 primus-emit。

我正在尝试找到一种方法来 Hook 发送/接收的每条消息(包括心跳),以便为应用程序的另一个模块跟踪我的事件用户。 (这是使用 Redis 排序集完成的)。

由于 spark.on('data') 没有给我任何东西,因为一切都通过 primus-emit 进行,所以我正在考虑尝试编写自己的 Primus 插件或中间件这个,但我不太清楚如何从 packet (在插件中)或 req, res (在中间件代码中)获取 Spark 。当我在 primus.on('connection') 中的 Spark 对象上设置 accountNumber 时。

所以我正在寻找的是服务器端代码,它允许我拦截事件 Spark 上传递的任何数据,以便能够将 spark.accountNumber 推送到 Redis。

PS。也许我以错误的方式处理这个问题,所以任何提示表示赞赏。本质上,我的系统的另一部分需要了解活跃用户,为此我使用 Redis。

谢谢!!

最佳答案

所以我在irc.freenode.net上寻求建议,这是我从#primus上的好人那里得到的建议:不需要任何插件/中间件爵士乐。解决此问题的最简单方法是附加到内部 'incoming::data' 事件,如下所示:

primus.on('connection', function(spark) {
spark.on('incoming::data', function(data) {
// ... update redis set with 'connected' users here
});

// ... run all other code related to the spark as per usual here
});

关于node.js - Primus.io 拦截服务器上的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24109638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com