其他测试框架 jmeter 的 tcpsampler 的 eol 设置 方法

叶浩 · 2015年02月09日 · 最后由 zynzyf 回复于 2023年01月19日 · 4129 次阅读

jmeter tcpsampler eol 设置:
背景:
在运行 tcpsampler 后 如果报错:org.apache.jmeter.protocol.tcp.sampler.ReadException:

需要设置 eol
表示
给 inputstream 标记一个结束标记

该标记类型 int 值为-128-127 计算方法为一个字节的十进制值
比如如果标记位 16 进制是 7e 二进制是 0111 1110 对应的十进制是 126

so:
根据服务器返回值 截取最后一个字节, 注意如果是 16 进制,应该是两个字符
比如,在我的项目中返回值转为 16 进制的时候如下:
7e80010005013819415186010103e7020000d47e
那么最后一个字节(8 位)应该是 7e 换算为 10 进制后为 126

那么在 eol 处设置为 126 ReadException: 异常消除
ps:

源代码中判断条件:

while ((x = is.read(buffer)) > -1) {
               w.write(buffer, 0, x);
               if (useEolByte && (buffer[x - 1] == eolByte)) {
                   break;
               }
           }
共收到 3 条回复 时间 点赞

eol 往往是变化的,我的解决方法是,如果不填也可以过
while ((x = is.read(buffer)) > -1) {
w.write(buffer, 0, x);
if (! useEolByte) {
break;
} else {
if ( (buffer[x - 1] == eolByte)) {
break;
}
}
}

@talkhello 请问这个要修改的源文件是哪个呀

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册