手把手教学Jmeter之TCP取样器(含遇到的坑)

Jmeter.TCP取样器

##需求:公司需要做一个模拟设备,模拟发送报文,要求是先发一个签到报文,然后再发送正文。后续还有要从上一个报文取数据拿到下一个发送报文。

先介绍一下tcp取样器的界面,上面红色圈起来部分是我要讲的。

名称,注释:

顾名思义就不讲了。。

TCPClient classname:

这是重点,这代表了你发出去的TCP报文是什么格式的,Jmeter自己提供的是实现了三类:

TCPClientImpl:

这是最简单的实现类,就是基础的文本,可以设置他的编码格式。一般用来发json串。

BinaryTCPClientImpl:

这是我要重点说的,这个是用来发送十六进制报文的时候,在classname里设置成BinaryTCPClientlmpl,他能将十六进制报文转换成二进制,然后读取响应的时候又反过来。

LengthPrefixedBinaryTCPClientImpl:

这个类是实现了BinaryTCPClientImpl类,所以继承了所有功能,它在BinaryTCPClientlmpl前面增加两个字节数据长度。

服务器名称或ip,端口号:

这个也是顾名思义,就是填你要发送报文的地址,相当于你发快递填的收货人。

超时:连接,响应:

这个挺重要的,它决定了在你没有输入End of line 的时候,什么时候断开tcp连接。

##超时会报500错误,如果你没有设置End of line的话,会在读取流的时候无限阻塞,直到超时,报500错误

##解决方法:设置End of line(后面直接称eol),eol是文本结束符,是说的返回的响应数据最后一位。

如果没有填写的话就会一直在这里,直到超时。

##我自己的话,因为需要不一样,我是直接下载tcp源码去编译,然后改内部的函数,让他不报错。对了,要注意的一点是,就算你勾选了Re-use connection,如果一旦报错的话,还是会把TCP连接给断掉的。在下一个取样器再重新新开一个tcp连接。我后面就需要在一个tcp长连接里发送多个不同的报文,所以需要自己在函数里改掉不报错。

close connection:

如果你勾选的话,一个取样器就只会用一个tcp连接,也就是你发送完报文以后,就关闭tcp连接。

Re-use connection:

如果勾选的话,就代表,在一个线程里,复用一个连接,在要求TCP长连接的时候需要用到这个。

发送文本:

顾名思义也就是报文了。

我自己改的地方是:

它这里就是如果发生读取流超时或者其他错误的时候,是会在第二个参数传一个ReadException进去的,但是我就自己把它改成了null,这样的话就不会报错了。主要因为我的报文是不固定的,所以不能确定结束符是什么,所以只能这样改。

 

已标记关键词 清除标记
<p> 课程大纲: </p> <p> 01.  程体系导读<br /> 02. jmeter简介  <br /> 03. jmeter安装01  <br /> 04. jmeter安装02 <br /> 05. 目录结构介绍  <br /> 06. 主界面菜单和工具栏介绍   <br /> 07. jmeter第一个实战<br /> 08. jmeter常用组件初步   <br /> 09. 线程组 <br /> 10. 采样器之HTTP请求0 <br /> 11. 采样器之HTTP请求02   <br /> 12. 监听器之察看结果树   <br /> 13. 监听器之用表格查看结果   <br /> 14. 配置元件之用户自定义的变量   <br /> 15. 配置元件之CSV Data Set Config参数化   <br /> 16. 函数助手参数化  <br /> 17. HTTP请求之xml格式数据请求  <br /> 18. HTTP请求之json格式数据请求   <br /> 19. 配置元件之HTTP信息头管理器  <br /> 20. 配置元件之HTTP Cookie管理器   <br /> 21. 前置处理器之BeanShell PreProcessor 01 <br /> 22. 前置处理器之BeanShell PreProcessor 02  <br /> 23. 后置处理器之BeanShell PostProcessor 01  <br /> 24. 后置处理器之BeanShell PostProcessor 02   <br /> 25. 后置处理器之JSON提取器  <br /> 26. 后置处理器之XPath提取器  <br /> 27. 后置处理器之正则表达式提取器   <br /> 28. 断言之响应断言   <br /> 29. 断言之XML格式数据断言   <br /> 30. 断言之JSON格式数据断言  <br /> 31. 如何使用jmeter进行压力测试   <br /> 32. HTTP多请求关联   <br /> 33. Jmeter扩展插件安装   <br /> 34. TCP取样器 01<br /> 35. TCP取样器 02   <br /> 36. 调试取样器Debug Sampler </p>
相关推荐
©️2020 CSDN 皮肤主题: 我行我“速” 设计师:Amelia_0503 返回首页