Jmeter(1):使用TCP取样器与socket接口进行简单通信
一个小任务:服务器与客户端连接,每次发送50个随机生成的字符,两秒发送一次
失败过太多次,然后昨晚终于跑通了,心情激动,于是清均第一篇博客就诞生了。
之前不了解jmeter,想过单纯用java编写服务器和客户端,但代码多。然后老师介绍了jmeter。还用过tomcat做接收端,但试了两天都不行。
最后成功的方法:
用java写服务器,jmeter模拟客户端。
先介绍java写服务器这方面,仿照教材写了一个简单的服务器。
import java.net.*;
import java.io.*; public class ServerSocketTest { private BufferedReader reader;
private ServerSocket server;
private Socket socket; //创建三个对象,服务器,套接字,还有用来读取的reader void getserver() {
try{
server = new ServerSocket(8055); //不能重复创建port一样的ServerSocket,否则会报错
System.out.println("服务器套接字已经创建成功");
while(true) { //true的意思是套接字是连接状态
System.out.println("等待客户机的连接");
socket = server.accept(); //等待客户机的连接,若连接,则创建一套接字
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
getClientMessage(); }
}catch (Exception e) {
e.printStackTrace();
}
} private void getClientMessage() {
//获取客户端信息
try{ System.out.println("客户机:"+reader.readLine()); //很重要的一个方法,获取客户端信息 }catch (Exception e) {
e.printStackTrace();
} //接收到信息就关闭
try{ if (reader !=null) {
reader.close();
}
if (socket !=null) {
socket.close();
} }catch (IOException e) {
e.printStackTrace();
}
} public static void main(String[] args) {
ServerSocketTest tcp = new ServerSocketTest();
tcp.getserver(); } }
启动这个类的main函数,就相当于启动了这个服务器。如下图所示。
Jmeter部分:
Jmeter的下载安装配置我就不详细介绍了,网上可以找到很多教程。
打开bin文件夹,打开名为ApacheJmeter的jar包。等待jmeter启动。
会看到一个测试计划,可以重命名。
右键测试计划,新建线程组——右键线程组--添加--sampler--tcp取样器——右键tcp取样器,添加监听器。
一个框架大概就做好了。
在线程组里设置线程数,总时间和循环次数,我分别设置的是4,8,1
在tcp取样器中添加服务器的ip地址和端口号,设置连接和响应时间。
点击左上角选项——函数助手对话框——选择功能__RandomString——长度填50,下一行输入生成字符串的范围。如1234567890qingjun,再下一行不用填。
——点击生成,可以拷贝函数到tcp取样器要发送的文本里,然后按回车空一行,不然发送不成功。
点击右上角的黄色警示图标可以看到jmeter运行情况。
点击绿色三角启动,或者左上角运行--启动。
jmeter:
结果树:绿色√表示成功了。

汇总报告:

服务器显示:

由简入繁,但最后明白了大道至简。总之第一步成功了。
开心。
接下来的学习总结还会发布在博客园,希望自己能坚持下去。
Jmeter(1):使用TCP取样器与socket接口进行简单通信的更多相关文章
- 使用TCP取样器测试Socket接口
1 JMeter下载安装 下载地址:JMeter,选择Binaries下面的zip包. 检查java环境,是否安装了jdk或者jre. 解压zip包->找到bin目录下jmeter.bat文件- ...
- 基于node的tcp客户端和服务端的简单通信
1.简单介绍下TCP/IP TCP/IP是互联网相关协议的集合,分为以下四层:应用层.传输层.网络层.数据链路层. 分成四层的好处是,假如只有一层,某个地方需要改变设计时,就必须把所有整体替换掉,而分 ...
- 请问使用jmeter在tcp取样器测试中服务器名称或ip,端口可以填变量值吗?
请问使用jmeter在tcp取样器测试中服务器名称或ip,端口可以填变量值吗?
- Jmeter之TCP取样器
1.在线程组中添加“TCP取样器” 2.填写数据 以下截图是必须配置的 TCPClient classname: 填写TCP报文格式(有三类),默认前缀:org.apache.jmeter.prot ...
- Jmeter之TCP取样器(模拟数据上报压测)
TCP压测 场景:模拟硬件设备上报数据(登录,心跳,GPS定位数据/光感数据/电量数据),对这个功能进行压测 啰嗦一句:TCP压测很简单,只要调通了一个TCP,后续的逻辑判断就用逻辑控制器和正则处理就 ...
- .net学习笔记---tcp/udp/http/socket
什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. UDP全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信. 使用 ...
- ios开发网络知识 TCP,IP,HTTP,SOCKET区别和联系
TCP,IP,HTTP,SOCKET区别和联系 网络由下往上分为: 对应 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- ...
- TCP/IP 和 Socket 的关系
要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...
- HTTP,FTP,TCP,UDP及SOCKET
一.TCP/IP协议简析TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层:网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议传输层:TCP协议与UDP协议应用层:F ...
随机推荐
- Delphi事件的广播
原文地址:Delphi事件的广播 转作者:MondaySoftware 明天就是五一节了,辛苦了好几个月,借此机会应该尽情放松一番.可是想到Blog好久没有写文章,似乎缺些什么似的.这几个月来在项目中 ...
- 命令行版扫雷(vc08)
复制代码模拟鼠标各种按键 左键 翻开右键 标雷左右键 翻开周围 先判断当前点是否为已翻开的点 时间地雷计数器清屏 展开 大于8时不管 小于等于8时翻开本身 为0时翻开周围的输出 同雷数图雷区判断 判断 ...
- 虚拟机安装 ubuntu 后,更新源无效,以及无法联网安装软件的问题
问题: 虚拟机安装 ubuntu 后,更新源无效,以及无法联网安装软件: 错误提示: Err http://security.ubuntu.com/ubuntu/ trusty-security/un ...
- kube框架结构-一个小型响应式CSS框架
当你开始初建一个新的项目时,你可能需要一个不太复杂的基础框架,Kube框架应该是你最好的选择.一个独立的CSS文件,帮助你更简单的创建响应式的的布局设计. Kube Framework包括网格.按钮. ...
- 源码解读·RT-Thread小内存管理算法分析
这篇文章最初发布在RT-Thread官方论坛中,最近准备整理放到博客中来让更多人一起探讨学习. 2012年9月28日星期五 前言: 母语能力有限 概述: 这篇文字和大家分享一下今晚对RT-Thread ...
- .Net上传文件处理三大范式,及开发注意事项
最近工作内容涉及到一点前端的内容,把学习到的内容记录下来,在今后的开发过程中,不要犯错.本篇只针对一些刚入职的小白及前端开发人员,大牛请绕道!~ 刚开始我们先不讲上传文件的防范问题,先通过一个例子,让 ...
- spark 2.x在windows环境使用idea本地调试启动了kerberos认证的hive
1 概述 开发调试spark程序时,因为要访问开启kerberos认证的hive/hbase/hdfs等组件,每次调试都需要打jar包,上传到服务器执行特别影响工作效率,所以调研了下如何在window ...
- git操作相关
-- 创建远程仓库 git init --bare git仓库文件夹名称 从远程仓库复制出本地仓库 git clone ./lth.git local 本地仓库和远程仓库的同步 本地仓库的配置文件co ...
- 四种途径提升RabbitMQ传输数据的可靠性
前言 RabbitMQ虽然有对队列及消息等的一些持久化设置,但其实光光只是这一个是不能够保障数据的可靠性的,下面我们提出这样的质疑: (1)RabbitMQ生产者是不知道自己发布的消息是否已经正确达到 ...
- 消息驱动式微服务:Spring Cloud Stream & RabbitMQ
1. 概述 在本文中,我们将向您介绍Spring Cloud Stream,这是一个用于构建消息驱动的微服务应用程序的框架,这些应用程序由一个常见的消息传递代理(如RabbitMQ.Apache Ka ...