websocket netty 服务器如何给客户端发数据

客户端通过send方法发送数据到服务器,服务器收到了数据,写入了redis。(场景类似实验室发送数据到服务器)

function send(message){
        if(!window.WebSocket){return;}
        if(socket.readyState == WebSocket.OPEN){
            console.log(message)
            socket.send(message);
        }else{
            alert("WebSocket 连接没有建立成功!");
        }

    }
        // 返回应答消息
        String request = ((TextWebSocketFrame) frame).text();
        logger.debug("服务端收到:" + request);
        RedisPool redisPool = RedisPool.getInstance();
        Jedis jedis = redisPool.getJedis();
        jedis.lpush("deviceMessage",request);
        redisPool.closeJedis(jedis);

现在的问题是服务器需要从redis读取数据,来给客户端发送一个命令,改如何实现 (场景如通过redis中获取的数据控制实验室机器停止开始)

阅读 3.4k
1 个回答

建立通道之后netty有个channel,直接通过 channel.writeAndFlash() write() 写数据即可 一个是异步。一个是非异步

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题