一个小任务: 服务器与客户端连接, 每次发送 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:
结果树: 绿色√表示成功了.
汇总报告:
服务器显示:
由简入繁, 但最后明白了大道至简. 总之第一步成功了.
开心.
接下来的学习总结还会发布在博客园, 希望自己能坚持下去.
来源: https://www.cnblogs.com/qjqj0-0/p/10664398.html