socketio join 不创建空间,但在发布消息时起作用

问题描述

我正在为 redis 客户端使用 netty socketio 和 reddison。我已将 redis 配置为与 netty socketio 一起用作发布订阅和保存会话存储。

现在我使用下面的代码在 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\"}");

其中 user1@example.com 在初始代码中用作房间名称以加入房间。

如果我使用下面的代码,我会收到事件。

socket.on("new_msg",function(data) {
   console.log("room data: ",data);
});

但是现在如果查看 redis 中的 pubsub 频道,我会看到这一点。

enter image description here

在这里没有看到 user1@example.com 频道。这里到底发生了什么?有人可以对此提供一些见解吗。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)