1. 程式人生 > >Jmeter(1):使用TCP取樣器與socket接口進行簡單通信

Jmeter(1):使用TCP取樣器與socket接口進行簡單通信

import sock 配置 ade 對話框 找到 代碼 長度 失敗

一個小任務:服務器與客戶端連接,每次發送50個隨機生成的字符,兩秒發送一次

失敗過太多次,然後昨晚終於跑通了,心情激動,於是清均第一篇博客就誕生了。

之前不了解jmeter,想過單純用java編寫服務器和客戶端,但代碼多。然後老師介紹了jmeter。還用過tomcat做接收端,但試了兩天都不行。

最後成功的方法:

用java寫服務器,jmeter模擬客戶端。

先介紹java寫服務器這方面,仿照教材寫了一個簡單的服務器。

 1 import java.net.*;
 2 import java.io.*;
 3 
 4 public class ServerSocketTest {
5 6 private BufferedReader reader; 7 private ServerSocket server; 8 private Socket socket; //創建三個對象,服務器,套接字,還有用來讀取的reader 9 10 void getserver() { 11 try{ 12 server = new ServerSocket(8055); //不能重復創建port一樣的ServerSocket,否則會報錯
13 System.out.println("服務器套接字已經創建成功"); 14 while(true) { //true的意思是套接字是連接狀態 15 System.out.println("等待客戶機的連接"); 16 socket = server.accept(); //等待客戶機的連接,若連接,則創建一套接字 17 reader = new
BufferedReader(new InputStreamReader(socket.getInputStream())); 18 getClientMessage(); 19 20 } 21 }catch (Exception e) { 22 e.printStackTrace(); 23 } 24 } 25 26 private void getClientMessage() { 27 //獲取客戶端信息 28 try{ 29 30 System.out.println("客戶機:"+reader.readLine()); //很重要的一個方法,獲取客戶端信息 31 32 }catch (Exception e) { 33 e.printStackTrace(); 34 } 35 36 //接收到信息就關閉 37 try{ 38 39 if (reader !=null) { 40 reader.close(); 41 } 42 if (socket !=null) { 43 socket.close(); 44 } 45 46 }catch (IOException e) { 47 e.printStackTrace(); 48 } 49 } 50 51 public static void main(String[] args) { 52 ServerSocketTest tcp = new ServerSocketTest(); 53 tcp.getserver(); 54 55 } 56 57 }

啟動這個類的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接口進行簡單通信