Node.JS订阅给定IP上的频道

Pon*_*ono 4 redis node.js

场景:发布到redis频道的PHP应用程序,名为"message",位于IP 1.2.3.4上

如何在该IP上从节点连接到该通道?

var listener = redis.createClient();
listener.subscribe('message', /* ? '1.2.3.4' ? */);

listener.on("messages", function(channel, message) {
  // do something with data
});
Run Code Online (Sandbox Code Playgroud)

Alf*_*red 5

我假设您正在使用node_redis.您可以指定您正在使用的主机:

redis.createClient(port, host, options)
---
Create a new client connection. 
port defaults to 6379 and host defaults to 127.0.0.1.
Run Code Online (Sandbox Code Playgroud)

所以你应该使用:

redis.createClient('1.2.3.4');
Run Code Online (Sandbox Code Playgroud)

它在文档中非常好,我认为你应该完全阅读它.

PS:当您为远程主机提供redis时,我认为您应该正确设置防火墙以拒绝其他IP(白名单)的访问.