34.TCP取样器

Wesley13
• 阅读 524

阅读文本大概需要3分钟。

1、TCP取样器的作用

      TCP取样器作用就是通过TCP/IP协议来连接服务器,然后发送数据和接收数据。

2、TCP取样器详解

34.TCP取样器

TCPClient classname:TCP报文格式类名,默认前缀org.apache.jmeter.protocol.tcp.sampler.

① TCPClientImpl:普通文本,默认传输格式。一般用来发json串;

② BinaryTCPClientImpl:十六进制报文,指定包结束符;

③ LengthPrefixedBinaryTCPClientImpl:继承BinaryTCPClientImpl类,并在BinaryTCPClientlmpl前面增加两个字节数据长度。可在jmeter.properties配置文件中tcp.binarylength.prefix.length设置;

服务器名或IP:服务器主机名称或者服务器ip地址

端口号:服务器端口号

连接:与服务器套接字应用连接的超时时间(单位毫秒,0 表示禁用超时)

响应:服务器响应的超时间(单位毫秒,0 表示禁用超时),这个值的设置跟行尾(EOL)字节值有关系,如果行尾(EOL)字节值中的值设置不正确,会导致JMeter一直在等待无法结束,但是如果指定了Response Timeout这个值的话,在到达这个值的时候就关闭连接。

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

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

设置无延迟:参考java.net.Socket.setTcpNoDelay(),如果选中,它将会禁用Nagle's算法(利用缓存功能),反之

SO_LINGER:该配置项用于控制在关闭连接之前是否要等待缓冲区中的数据发送完成。如果SO_LINGER选项指定了值,则在得到关闭连接的请求之后还会等待指定的秒数以完成缓冲区中数据的发送,在指定的SO_LINGER秒数完成后,关闭连接。因此,如果把该选项设置成0,那么所有连接在收到关闭连接的时候都会立即关闭,避免产生很多处于TIME_WAIT状态 (等待状态)的套接字,单位为秒。

行尾(EOL)字节值:判断行结束的byte值,如果设置值在-128到127之外将会跳过EOL检测。可以在jmeter.properties文件中增加属性eolByte进行设置,如果在TCP Sampler Config(TCP 取样器配置)中也设置这个属性,那么TCP Sampler Config中设置的将会奏效。比如服务器端返回的字符串都是以回车符结尾,那么可以将该选项设置成10

要发送的文本:需要发送的数据

用户名、密码:TCP取样器没有使用到这两个参数

往期精彩

01 漫谈发版哪些事,好课程推荐

02 Linux的常用最危险的命令

03 精讲Spring Boot—入门+进阶+实例

04 优秀的Java程序员必须了解的GC哪些

05 互联网支付系统整体架构详解

关注我

每天进步一点点

34.TCP取样器

喜欢!在看 ☟

本文分享自微信公众号 - JAVA乐园(happyhuangjinjin88)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4天前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
MFC_TCP_Server
!(https://oscimg.oschina.net/oscnet/44fdf01cd2e73dc5aa35a55874419856565.png)1//New_MFC_TCP_SreverDlg.h:头文件2//3defineWM_SOCKETWM_USER1004pragm
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
5个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这