2017-09-06 260 views
0

我已经设置了TCP采样器来传递XML数据并检查返回。TCP中的Jmeter 500错误

我有适当的IP地址,端口号是正确的,数据已准备就绪。

不过,我一直得到这个错误:

Thread Name: BasicCheck 1-1 
Sample Start: 2017-09-06 00:12:59 UTC 
Load time: 3520 
Connect Time: 1 
Latency: 0 
Size in bytes: 0 
Sent bytes:0 
Headers size in bytes: 0 
Body size in bytes: 0 
Sample Count: 1 
Error Count: 1 
Data type ("text"|"bin"|""): text 
Response code: 500 
Response message: org.apache.jmeter.protocol.tcp.sampler.ReadException: Error reading from server, bytes read: 0 

响应头:

SampleResult fields: 
ContentType: 
DataEncoding: windows-1252 

我知道服务器已启动和运行,我把在TCP采样地点的用户名和密码JMeter的。我只是不知道为什么我得到这个错误。

这是在一台Windows机器(显然)到一个直的TCP服务器。

+0

您是否尝试过检查关闭连接复选框? – user7294900

+0

连接需要保持打开状态才能在第一个消息之后发送更多消息。 – Bill

回答

0

你需要做以下的事情,使这项工作:

  1. 在TCP采样使EOL字节值= 10超时(毫秒)为响应输入值5000或10000
  2. 添加用户定义要通过TCP采样器作为文本发送的变量。防爆。我想发送文本为$ {STX} 2017105557 | SAMPLEMESSAGE | Message2 $ {ETX},因此STX和ETX是我的用户定义变量。
  3. 添加一个Bean Shell预处理器将值转换为ASCII格式。

示例代码:

[String STX = URLDecoder.decode(vars.get("STX"), "ASCII"); 
vars.put("STX",STX); 
String ETX = URLDecoder.decode(vars.get("ETX"), "ASCII"); 
vars.put("ETX",ETX);][1] 

的JMeter脚本应该是这样的: TCP Sampler Jmeter script