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

Send message to client any moment Netty Io

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

你可以这样处理:

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

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

现在,您在频道上有了参考,您可以在需要时通过调用 channel.writeAndFlush()

发送消息