0

我从 JMeter 实例到 Apache 服务器以及从 Apache 服务器到部署在 Jonas 中的 Java 应用程序建立了 2 个连接。

当我终止 JMeter 进程时,与 Apache 的连接以 [RST] 关闭。然后 Apache 向 Jonas 发送一个 [FIN, ACK]。Jonas 还没有发送所有数据,所以它一直在发送数据。Jonas 稍后使用 [FIN,ACK] 关闭连接。此行为在 TCP RFC 中进行了描述。

因此,问题是 Apache 接收来自 Jonas 的所有数据,即使 Apache 无法将其发送到 JMeter。

我的问题是:我的 Java 应用程序可以在收到 Apache 发送的 FIN、ACK 时触发吗?

4

2 回答 2

0

不是直接的,最终java可能会从 InputStream 或 OutputStream 抛出一个 IOException ,但这取决于平台。

在 JDK 7 发布之前,有人谈论过“原始套接字”Java 实现,但不知何故,我认为它从未起步。

于 2015-03-12T10:10:43.060 回答
0

我的 Java 应用程序可以在收到 Apache 发送的 FIN、ACK 时触发吗?

是的,但您必须从连接中读取。您将以各种形式之一获得流的结尾,具体取决于您调用的读取方法。请参阅 Javadoc。

于 2015-03-12T11:52:22.790 回答