第一部分:
#include "lrs.h"
vuser_init()
{
lrs_startup(257);
return 0;
}
第二部分:
Action()
{
char *ReturnValue_Remote;
char *ReturnPort_Remote;
char *ReturnValue_Local;
char *ReturnPort_Local;
char *AcutalBuffer;
int BufferSize;
char *ip;
//编写获取LR分配的Vuser IP函数,将IP保存在ip变量中。
ip=lr_get_vuser_ip();
if(ip)
lr_vuser_status_message("the ip address is %s:",ip);
else
lr_vuser_status_message("IP spooler disabled");
//输出获取到lr分配的ip值。
lr_output_message("the current assign ip is :%s",ip);
//将ip变量保存到一个参数中,并输出该参数的值。
lr_save_string(ip,"VirtualIP");
lr_output_message( lr_eval_string("{VirtualIP}"));
//在lrs_create_socket函数中localhost使用<>:<>形式来参数化
lrs_create_socket("socket0","TCP","LocalHost=<VirtualIP>:<RandomPort>","RemoteHost=192.168.1.113:8888",LrsLastArg);
while(1)
{
ReturnValue_Remote=lrs_get_socket_attrib("socket0",REMOTE_ADDRESS);
ReturnPort_Remote=lrs_get_socket_attrib("socket0",REMOTE_PORT);
ReturnValue_Local=lrs_get_socket_attrib("socket0", LOCAL_ADDRESS);
ReturnPort_Local=lrs_get_socket_attrib("socket0",LOCAL_PORT);
lr_start_transaction("获取远程主机地址及端口");
lr_output_message("this RemoteHost address is %s :", ReturnValue_Remote);
lr_output_message("this RemoteHost Port is %s : ",ReturnPort_Remote);
lr_end_transaction("获取远程主机地址及端口", LR_AUTO);
lr_start_transaction("获取本机地址及端口");
lr_output_message("this LocalHost address is %s :", ReturnValue_Local);
lr_output_message("this LocalHost Port is %s : ",ReturnPort_Local);
lr_end_transaction("获取本机地址及端口", LR_AUTO);
// lr_think_time(3);
lr_start_transaction("发送数据包");
lrs_send("socket0","buf0",LrsLastArg);
lr_end_transaction("发送数据包", LR_AUTO);
lr_start_transaction("获取BUFF数据大小及内容");
lrs_get_buffer_by_name("buf0",&AcutalBuffer,&BufferSize);
lr_output_message("buf0 size is %d :",BufferSize);
lrs_save_param_ex("socket0","user",AcutalBuffer,0,BufferSize,"ascii","param");
lr_output_message("the contect buf0 is %s :",lr_eval_string("<param>"));
lr_end_transaction("获取BUFF数据大小及内容", LR_AUTO);
}
lrs_disable_socket("socket0",DISABLE_SEND);
lrs_close_socket("socket0");
return 0;
}
第三部分:
#include "lrs.h"
vuser_end()
{
// lrs_disable_socket("socket0",DISABLE_SEND);
// lrs_close_socket("socket0");
lrs_cleanup();
return 0;
}
第四部分:
;WSRData 2 1
send buf0 32
"x41x45x48x50x0Bx00x00x00x01xFFxFF" ==》心跳包数据
-1