使用 Netty 发送和接收不同类型的数据包
Sending and receiving different type of packets using Netty
我想实现发送和接收数据包(我在OIO中使用这个)
Step 1: Server -> Client, Packet A
Step 2: Client -> Server, Packet B
Step 3: Server -> Client, Packet C
当服务器向客户端发送数据包A时,
客户端应向服务器发送布尔值。
然后如果它是真的服务器应该发送数据包 B 给客户端。
我不知道如何用 Netty 实现这个。
请帮助我。
请注意,ChannelInboundHandler
的方法 channelRead
和 ChannelHandlerContext
的 write
和 writeAndFlush
方法将对象作为参数。
您需要实现自己的客户端和服务器,以及根据您拥有的数据包规范接收和发送数据的编码器和解码器。那就是你需要对数据包A,数据包B和数据包C进行编码并发送给客户端。客户端应解码数据包并使用需要编码并发送到服务器的布尔值进行响应。然后服务器应该解码并处理布尔值。
上面说的比较复杂。您可以通过 HTTP 协议发送 JSON 或任何其他形式的数据来轻松做到这一点,因为 netty 已经支持该协议的解码器和编码器。然后您所要做的就是处理 JSON 数据。
我想实现发送和接收数据包(我在OIO中使用这个)
Step 1: Server -> Client, Packet A
Step 2: Client -> Server, Packet B
Step 3: Server -> Client, Packet C
当服务器向客户端发送数据包A时, 客户端应向服务器发送布尔值。 然后如果它是真的服务器应该发送数据包 B 给客户端。 我不知道如何用 Netty 实现这个。 请帮助我。
请注意,ChannelInboundHandler
的方法 channelRead
和 ChannelHandlerContext
的 write
和 writeAndFlush
方法将对象作为参数。
您需要实现自己的客户端和服务器,以及根据您拥有的数据包规范接收和发送数据的编码器和解码器。那就是你需要对数据包A,数据包B和数据包C进行编码并发送给客户端。客户端应解码数据包并使用需要编码并发送到服务器的布尔值进行响应。然后服务器应该解码并处理布尔值。
上面说的比较复杂。您可以通过 HTTP 协议发送 JSON 或任何其他形式的数据来轻松做到这一点,因为 netty 已经支持该协议的解码器和编码器。然后您所要做的就是处理 JSON 数据。