gpt4 book ai didi

node.js - socket.io-redis 尾随字节

转载 作者:IT王子 更新时间:2023-10-29 06:07:49 25 4
gpt4 key购买 nike

我正在使用 socket.io-emitter 通过 for 循环将事件广播到一组 channel :

在文件中,我有:

var io = require('socket.io-emitter')({
host: 'localhost',
port: 6379
});

module.exports = {
exampleFunction: function(req, res, next) {
var channels = req.param('channels'),
data = req.param('data');

for (var i=0; i<channels.length; i++) {
io.to(channels[i]).emit('example event', data)
}
}
}

app.js 中,我有 socket.io-redis:

io.adapter(socketio_redis({ 
host: 'localhost',
port: 6379,
pubClient: redis.createClient(6379, '127.0.0.1'),
subClient: redis.createClient(6379, '127.0.0.1')
}))

当我尝试运行 exampleFunction 时,我在控制台中收到以下 Uncaught Error :

Error: 348 trailing bytes
at Object.decode (C:\Users\Website\socket.io-redis\node_modules\msgpack-js\msgpack.js:200:47)
at Redis.onmessage (C:\Users\Website\socket.io-redis\index.js:93:24)
at RedisClient.EventEmitter.emit (events.js:106:17)
at RedisClient.return_reply (C:\Users\Website\node_modules\redis\index.js:672:22)
at ReplyParser.<anonymous> (C:\Users\Website\node_modules\redis\index.js:309:14)
at ReplyParser.EventEmitter.emit (events.js:95:17)
at ReplyParser.send_reply (C:\Users\Website\node_modules\redis\lib\parser\javascript.js:300:10)
at ReplyParser.execute (C:\Users\Website\node_modules\redis\lib\parser\javascript.js:211:22)
at RedisClient.on_data (C:\Users\Website\node_modules\redis\index.js:534:27)
at Socket.<anonymous> (C:\Website\node_modules\redis\index.js:91:14)

我看到这是来自msgpack。你们以前遇到过这个错误吗?你是怎么解决的?

谢谢。

最佳答案

nm.socket.io-redis的主页上它是这样写的:

Msgpack with giving us an error called "trailing bytes". After reading up we realized that we could just use JSON.stringfy/JSON.parse instead of msgpack.

这看起来像您遇到的错误。按照那里的建议,尝试 JSON.strigfy

关于node.js - socket.io-redis 尾随字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721777/

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