1

我的一个详尽的 JUnit 在重复过程中被阻塞。

该流程非常类似于 FTP 上的被动检索:

JUnit ----------- MOVE_REQ (dst port 4104) --------------------> Server
loop {
    JUnit <------ SEND_REQ with the object (dst port 1104) ---------- Server
    JUnit --------------- SEND_RSP  (same connection) --------------> Server
}
JUnit <-------- MOVE_RSP (same connection as first one) ----------- Server

所有该链都由 JUnit 同时在多个线程中同时执行。JUnit 端的服务器(参加 SEND_REQ 的那个)是一个 5 个线程的池,与另一端的服务器完全相同。

在调试中,我可以看到服务器在 16384 字节的 OutputStream.write 中挂起 SEND_REQ。另一方面,jUnit 的服务器在读取流时卡住了,而 InputStream.read 只有 6 个字节。

我想到的第一件事是我没有关闭所有连接,因此缓冲区有任何泄漏。但是我已经用 TcpView 验证过了,没问题,当时只有一个连接

在此处输入图像描述

知道为什么会发生这种情况吗?

4

0 回答 0