Netty 4.1:防止在服务器异常时发送 TCP ACK
Netty 4.1: preventing TCP ACK from being sent on server exception
我正在使用现有的 Java 服务器,该服务器使用 Netty 4.1 接收专有协议。有时,必须将这些消息传递到的下游系统将无法接受它们。发生这种情况时,我的管道中将抛出一个异常。在这种情况下,与其实现我自己的恢复机制,不如利用(现有的)客户端将重新发送未收到 TCP ACK 的消息这一事实。
netty 可以实现这样的方案吗?如果可以,我应该如何实现我的管道来实现这个目标?父组中我的管道 运行 中的所有 ChannelHandler 实现,因为它们的操作速度可以接受。
TCP ACK 是一种传输层 机制,用于确认接收方已成功接收 数据。在你的用例中你想要的是一个应用层机制来确认数据已经被应用成功处理(包括将它转发到另一个管道中的步骤)。
这些是完全不同的事情,即数据交付的成功与数据处理的成功。没有 API 将第一个(错误)用于后者,即您需要实现自己的(应用程序级别)机制。
我正在使用现有的 Java 服务器,该服务器使用 Netty 4.1 接收专有协议。有时,必须将这些消息传递到的下游系统将无法接受它们。发生这种情况时,我的管道中将抛出一个异常。在这种情况下,与其实现我自己的恢复机制,不如利用(现有的)客户端将重新发送未收到 TCP ACK 的消息这一事实。
netty 可以实现这样的方案吗?如果可以,我应该如何实现我的管道来实现这个目标?父组中我的管道 运行 中的所有 ChannelHandler 实现,因为它们的操作速度可以接受。
TCP ACK 是一种传输层 机制,用于确认接收方已成功接收 数据。在你的用例中你想要的是一个应用层机制来确认数据已经被应用成功处理(包括将它转发到另一个管道中的步骤)。
这些是完全不同的事情,即数据交付的成功与数据处理的成功。没有 API 将第一个(错误)用于后者,即您需要实现自己的(应用程序级别)机制。