对于嵌套的异步操作,您可能需要在使用池化数据缓冲区的底层服务器(例如Netty)上调用message.retain()。 否则,在您有机会读取数据之前,可能会释放数据缓冲区。 有关更多背景信息,请参见数据缓冲区和编解码器。
Tomcat客户端实际上是标准Java客户端的扩展,在WebSocketSession处理中具有一些额外功能,以利用特定于Tomcat的API暂停接收消息以产生反压。