随时向客户端发送消息 Netty Io

Joã*_*oão 2 java netty server

我有一个基于微服务的架构,netty io 在 spring boot 应用程序上运行,当我想向客户端发送消息时,我必须等待来自客户端的消息将回复发送给我想要发送的人。如何在不等待他与我沟通的情况下向客户发送消息?我迷失在这一步。

Pri*_*rim 6

你可以这样处理:

  1. 让客户端连接到您的服务器
  2. 让客户端发送一个 Hello 消息(确保是您的客户端之一)
  3. 在服务器上捕获消息并将引用存储在通道上(通过调用在每个通道处理程序上可用ctx.channel()
  4. channelInactive当客户端断开连接时,捕获事件以移除引用

除了等待 HelloMessage 之外,您还可以捕获该channelActive事件,但每次有人连接到您监听的端口时都会触发它,即使不是您的客户端之一。这就是为什么我更喜欢使用“Hello Message”

现在,您在频道上有一个参考,您可以在需要时通过调用发送消息 channel.writeAndFlush()