我使用JMeter的BinaryTCPClientImpl发送自定义协议的命令。通过设计,此命令不会从接收它的应用程序生成响应,以便返回到JMeter的唯一响应是TCP ACK帧。 JMeter的TCP采样器不会将ACK视为响应,因此插槽关闭后会发生读取超时。根据文档,我试图将行尾字节值设置为大于128,以关闭流结束的检查,但没有任何关于读取超时的更改。
有没有办法让BinaryTCPClientImpl接受TCP ACK作为有效响应而不实现自定义采样器?
答案 0 :(得分:2)
实际上,ACK数据包是用于tcp通信的发送阶段的一部分。因此,如果您已成功发送请求,则符合您的要求。
默认情况下,BinaryTCPClientImpl无法等待响应。因此,您必须实现自己的BinaryTCPClientImplNoResp类,派生自BinaryTCPClientImpl并覆盖其read()方法。现在我知道没有更好的方法来实现你的目标。