2

メソッド経由でphpredisデータを送信するために使用しています。node.js を安定バージョン 4.2 にアップグレードした後、モジュールからエラーが発生します。node.jspubsubtrailing bytesocket.io-redis

node.js

var pub = redis.createClient(2222, '127.0.0.1',{no_ready_check: true})

pub.auth(redisPassword);

var allsub = redis.createClient(2222, '127.0.0.1',{return_buffers: true,no_ready_check: true})

allsub.auth(redisPassword);

allsub.subscribe('somekey');

io.adapter(RedisStore({pubClient:pub,subClient:allsub}));

エラー:

   Error: 256 trailing bytes
        at Object.decode (/usr/apps/js/node_modules/msgpack-js/msgpack.js:200:47)
        at Redis.onmessage (/usr/apps/js/node_modules/socket.io-redis/index.js:93:24)
        at emitTwo (events.js:92:20)
        at RedisClient.emit (events.js:172:7)
        at RedisClient.return_reply (/usr/apps/js/node_modules/redis/index.js:697:22)
        at ReplyParser.<anonymous> (/usr/apps/js/node_modules/redis/index.js:324:14)
        at emitOne (events.js:77:13)
        at ReplyParser.emit (events.js:169:7)
        at ReplyParser.send_reply (/usr/apps/js/node_modules/redis/lib/parser/javascript.js:302:10)
        at ReplyParser.execute (/usr/apps/js/node_modules/redis/lib/parser/javascript.js:213:22)
        at RedisClient.on_data (/usr/apps/js/node_modules/redis/index.js:550:27)
        at Socket.<anonymous> (/usr/apps/js/node_modules/redis/index.js:105:14)
        at emitOne (events.js:77:13)
        at Socket.emit (events.js:169:7)
        at readableAddChunk (_stream_readable.js:146:16)
        at Socket.Readable.push (_stream_readable.js:110:10)
        at TCP.onread (net.js:523:20)

問題を解決するために、socket.io1.36 にダウングレードしましたが、エラーは引き続き発生します。

このスレッドで提案されている解決策に従いましたが、うまくいきません。

1.return_buffers: true をインスタンスに追加しても機能しません。

再起動すると、次の警告が表示されます。

[nodemon] restarting due to changes...
[nodemon] starting `node node.js`
listening on *:3000
[TypeError: input.split is not a function]

2.依存関係を前回の投稿で提案された msgpack-js-v5 に変更しますが、次のように機能しません。

socket.io-redis/index.js

var msgpack = require('msgpack-js-v5');

socket.io-redis/package.json:

 "dependencies": {
 "async": "0.9.0",
 "debug": "2.2.0",
 "msgpack-js-v5": "*",
 "redis": "2.4.2",
 "socket.io-adapter": "github:automattic/socket.io-adapter#de5cba",
 "uid2": "0.0.3"
 },

それはまさにどこからともなくです。誰かがそれを修正する方法を教えてもらえますか?

4

1 に答える 1