Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94186
  • 博文数量: 30
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-17 11:15
个人简介

面朝大海 春暖花开

文章分类

全部博文(30)

文章存档

2026年(3)

2025年(4)

2024年(2)

2022年(1)

2021年(6)

2016年(1)

2015年(2)

2014年(11)

我的朋友

分类: WINDOWS

2025-07-15 16:47:15

jmeter在loop controller中发送tcp sample,配置tcp server的ip和port


使用长连接时,勾选re-use  connection,如果当前发送后需要关闭连接,则勾选close connection。
eol(end of line):取值范围(-128,127),需要设置为服务端返回消息body的最后一个字节的十进制值,如果返回消息后两位为10(16进制),则填写16;客户端jmeter判断tcp body是否结束的结束符,默认1000,即不在取值范围内,如果填写的eol不等于实际返回值,或不填写,则认为接收的消息没有结束,一直等待到tcp超时,关闭连接。没有返回,发送消息失败。
tcp sample放在loop controller中,且eol使用变量${var}时,由于eol在tcp第一次发送时设置,之后再循环发送只是重新取text to send内容,eol不会重新设置,导致循环发送时接收消息超时,发送失败。
此时需要修改jmeter源码,增加eol为空时,不比较结束符,接收到消息即发送成功。
BinaryTCPClientImpl.class
        if (!this.useEolByte) {
break;
}//增加为空或不在取值范围内时,同样结束
        if (this.useEolByte && buffer[x - 1] == this.eolByte)
          break; 
      } 


阅读(45) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~