我正在为 redis 客户端使用 netty socketio 和 reddison。我已将 redis 配置为与 netty socketio 作为 pubsub 和保存会话存储一起使用。
现在我使用下面的代码在 redis 中创建了一个带有 netty socketio 的房间。使用他们的电子邮件为客户创建特定队列。
@OnEvent(value = "join")
public void onJoin(SocketIOClient client, AckRequest request, JSONObject jsonObject) {
logger.info("message :" + jsonObject);
client.joinRoom(jsonObject.getString("email"));
}
现在我可以使用以下代码向该特定用户发送数据
socketIOServer.getRoomOperations("user1@example.com").sendEvent("new_msg", "{\"msg\": \"hello\"}");
whereuser1@example.com
被用作房间名称以在初始代码中加入房间。
如果我使用下面的代码,我会收到事件。
socket.on("new_msg", function(data) {
console.log("room data: ", data);
});
但是现在如果查看 redis 中的 pubsub 频道,我会看到这一点。
我没有看到user1@example.com
这里的频道。这里到底发生了什么?有人可以对此提供一些见解。