Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Primus.io正在服务器上拦截数据_Node.js_Primus - Fatal编程技术网

Node.js Primus.io正在服务器上拦截数据

Node.js Primus.io正在服务器上拦截数据,node.js,primus,Node.js,Primus,我正在Express 4服务器上使用Primus.io和Primus emit 我正试图找到一种方法来连接发送/接收的每一条消息,包括心跳,以便跟踪我的活跃用户,用于应用程序的另一个模块。(这是使用Redis排序集完成的) 由于spark.on('data')没有给我任何东西,因为一切都在通过primus emit,所以我想尝试编写自己的primus插件或中间件,但我不太明白如何从数据包(插件中)或req,res(中间件代码中)到spark。当我在spark对象上设置accountNumber时

我正在Express 4服务器上使用Primus.io和Primus emit

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

由于
spark.on('data')
没有给我任何东西,因为一切都在通过primus emit,所以我想尝试编写自己的primus插件或中间件,但我不太明白如何从
数据包(插件中)或
req,res
(中间件代码中)到
spark
。当我在spark对象上设置accountNumber时,在
primus.on('connection')

所以我要寻找的是服务器端代码,它允许我截获任何通过活动sparks传递的数据,只是为了能够将
spark.accountNumber
推送到Redis

顺便说一句,也许我走错了方向,所以任何提示都很感激。本质上,我的系统的另一部分需要知道活动用户,为此我使用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
});