我使用jmeter的binarytcpclientimpl发送自定义协议的命令。通过设计,此命令不会从接收它的应用程序生成响应,因此返回到jmeter的唯一响应是tcp ack帧。JMeter的TCP采样器不将ACK视为响应,因此在套接字关闭后会发生读取超时。根据文档,我试图将行尾字节值设置为大于128,以关闭对流尾的检查,但读取超时没有任何变化。
有没有办法让binarytcpclientimpl接受tcp ack作为有效的响应,而不实现自定义的采样器?

最佳答案

实际上,ACK包是TCP通信发送阶段的一部分。因此,如果您成功地发送了请求,那么就满足了您的要求。
默认情况下,BinaryTCPClientIMPL没有这种不等待响应的能力。因此,您必须实现自己的binaryTcpClientImplNoresp类,从binaryTcpClientImpl派生并重写其read()方法。目前我还不知道更好的方法来实现你的目标。

10-06 07:02