loadrunner之socket协议脚本编写



1.java代码模拟服务器端程序:

Java代码   收藏代码
  1. package socket.com;  
  2. import java.io.*;     
  3. import java.net.*;  
  4.   
  5. public class Server {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      */  
  10.     public static void main(String[] args) throws IOException{  
  11.         // TODO Auto-generated method stub  
  12.         ServerSocket server=new ServerSocket(5678);     
  13.         while(true){     
  14.         Socket client=server.accept();     
  15.         BufferedReader in=    
  16.         new BufferedReader(new InputStreamReader(client.getInputStream()));     
  17.         PrintWriter out=new PrintWriter(client.getOutputStream());     
  18.         //while(true){     
  19.         String str=in.readLine();     
  20.         System.out.println(str);     
  21.         out.println("hasreceive");     
  22.         out.flush();     
  23.         //if(str.equals("end"))     
  24.         //break;     
  25.         //}     
  26.         client.close();     
  27.         }     
  28.     }  
  29.   
  30. }  

 2.loadrunner客户端代码:

C代码   收藏代码
  1. #include "lrs.h"  
  2.   
  3.   
  4. Action()  
  5. {  
  6.     int rc;  
  7.     rc=lrs_create_socket("socket0","TCP","RemoteHost=127.0.0.1:5678",  LrsLastArg);  
  8.     if (rc==0)   
  9.        lr_output_message("Socket  was successfully created ");   
  10.     else   
  11.        lr_output_message("An error occurred while creating the socket, Error Code: %d", rc);  
  12.   
  13.   
  14.     lr_start_transaction("CA");  
  15.     lrs_send("socket0", "buf0", LrsLastArg);   //往"socket0"发送"buf0"中的数据  
  16.     lrs_receive("socket0", "buf1", LrsLastArg);//将"socke0"中返回的数据存放到"buf1"中  
  17.   
  18.     lrs_save_param_ex("socket0", "received", "buf1", 0, 10,"ebcdic", "res");  
  19.     lr_output_message(lr_eval_string("<res>"));   
  20.     if(strcmp(lr_eval_string("<res>"),"hasreceive")==0){  
  21.         lr_end_transaction("CA", LR_PASS);  
  22.     }else{  
  23.         lr_end_transaction("CA", LR_FAIL);  
  24.     }  
  25.   
  26.     //lrs_close_socket("socket0");  
  27.       
  28.   
  29.     return 0;  
  30. }  

 data.ws文件内容:

C代码   收藏代码
  1. ;WSRData 2 1  
  2.   
  3.     send buf0 5  
  4.     "hello\r\n"  
  5.     recv buf1 12  
  6.     "hasreceive"  
  7.   
  8. -1  

 


你可能感兴趣的:(socket,loadrunner)