node.js - Node.js、Redis、套接字

标签 node.js sockets redis

我有一个 nodejs 应用程序,它从 redis 读取数据,但我无法将其推送到套接字中。在 c.write(message) 部分,如果我硬编码(例如 c.write('hello') ,消息将被放入套接字但是当我把它作为 c.write(message) 时,没有任何东西会进入套接字。提前致谢

var net = require('net');
var split = require('split');
var Redis = require('ioredis');
var redis = new Redis();


var server = net.createServer(function(c) {

    console.log('client connected');
    c.on('end', () => {
        console.log('client disconnected');
    });

    redis.subscribe('test-channel');

    redis.on('message', function(channel, message) {
        console.log(message);
        c.write(message);
        c.pipe(c);
    });
});

server.on('error', (err) => {
    throw err;
});
server.listen(3005, 'localhost', () => {
    console.log('server bound');
});

最佳答案

我得到了答案。

只需在您的代码中添加以下行:

var message_redis = message+'\r'+'\n';
c.write(message_redis);

关于node.js - Node.js、Redis、套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44715603/

相关文章:

redis - 如何在redis中一次从多个键中获取多个字段的值?

javascript - 使用 together.js 协同浏览 Angular.js 应用程序

javascript - parseFloat() 对于 JSON 输入返回 NAN

mysql - 访问 RowDataPacket 而不指定变量

java objectinputstream中的readObject如何知道要读取多少字节?

android - 为什么我的 c 套接字死了?

mysql - Node JS 中处理 MySQL 连接的正确方法是怎样的

android - getsockname 返回-1,errno 是 EBADF?

perl - 在 perl 中使用 Redis.pm 管道

redis - 如何获取按创建时间排序的redis缓存键列表