第一部分:

#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

"\x41\x45\x48\x50\x0B\x00\x00\x00\x01\xFF\xFF"    ==》心跳包数据
-1

loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)的更多相关文章

  1. redis客户端连接到服务器的步骤

    和大多数客户端连接到服务器一样,redis-cli连接到服务器也主要分为两个阶段,请求连接阶段和数据传送阶段.具体来讲redis-cli做的事情有: 1.以socket方式建立连接: 2,选择相应的数 ...

  2. C# Socket服务端及多客户端连接通信实现

    服务端代码(控制台示例): static List<Socket> Sockets = new List<Socket>(); static void Main(string[ ...

  3. 使用 WebSocket 客户端连接 MQTT 服务器

    简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...

  4. ESA2GJK1DH1K升级篇: 远程升级准备工作: 使用TCP客户端连接Web服务器实现http下载数据

    一,根目录建一个文件 二,使用浏览器访问 http://47.92.31.46:80/1.txt     或者  http://47.92.31.46/1.txt 三,使用TCP客户端访问文件内容 3 ...

  5. 使用mqtt+ssl加密 WebSocket 客户端连接 MQTT 服务器以及ws+wss协议

    上篇用TLS/SSL保证EMQ的网络传输安全讲了使用自签ca加密MQTT传输数据,如果mqtt用在web端,如何使用ssl.tsl加密? 1.web客户端 // 引入mqtt.min.js // 将在 ...

  6. 7.MQTT网页客户端连接MQTT服务器的问题WebSocket connection to 'ws://XXX:1883/' failed: Connection closed before receiving a handshake response

    问题描述:MQTT.js提供了连接MQTT的一套javascipt的方法,可供前端连接到MQTT服务器,也可以作为脚本测试.以脚本形式,用nodejs运行,是没有问题的,能够正常连接并且发送报文.但是 ...

  7. 修改客户端连接的服务器IP地址(内部使用)

    登录系统时如果出现 “验证失败”,或者,无法登陆系统,请修改服务器端IP地址,修改方法如下: 注意: (1)修改服务器端IP地址时,要提前关闭/退出客户端.建议也看看“Windows的任务管理器”中是 ...

  8. 局域网内sqldeveloper客户端连接oracle服务器

    1:输入参数 输入连接名(随便写) 用户名:system/tiger/sys或者是创建的用户 口令:设置的口令 主机名:连接的数据库所在的ip 端口:默认是1521 sid:orcl安装时自己设置的 ...

  9. FileZilla 客户端连接 FlieZilla 服务器 连接成功读取目录列表却失败的解决办法

    解决过程: 第一步: 第二步:

随机推荐

  1. MinGW32 +QT4.8.6+QT Creator+CMAKE的安装

    参考网址: http://www.360doc.com/content/15/0813/09/7256015_491331699.shtml http://m.fx114.net/qa-196-213 ...

  2. HDU 5033 Building(单调栈)

    HDU 5033 Building(单调栈) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5033 Description Once upon a ti ...

  3. java 学习心得

  4. python 基础学习2--编程

    python编程的步骤为: __name__ 指示模块如何被加载:如果模块被导入,__name__的值是模块的名称,如果模块被直接执行,__name__的值是main 变量不用进行声明,直接赋值:无需 ...

  5. pthon之异常、文件练习题

    1.在当前目录下查找文件夹“电摄班”,如果不存在则创建2.在电摄班下创建boys.girls.两个txt文件3.将字典中属于电摄班的同学按男女区分,分别放到boys.girls文件中,每个名字在文件中 ...

  6. Android 消息传递之Bundle的使用——实现object对象传输(一)

    UI更新--消息处理massage 对于安卓内部消息得处理,实现对界面UI得更新操作,不能在线程中直接更新ui.至于为什么不能,在学习安卓开发的时候,在线程中操作会使程序崩溃. 为什么,可以看看诸多大 ...

  7. HTTP Basic Authentication认证的各种语言 后台用的

    访问需要HTTP Basic Authentication认证的资源的各种语言的实现 无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下. 什么是HT ...

  8. ggplot2 theme相关设置—文本调整

    在geom设置和scale设置之后,要想把图画的漂亮,theme设置是比不可少的 在theme 设置中element_text()是一项很重要的内容 element_text(family = NUL ...

  9. MongoDB数据模型(三)

    六.数据模型引用 文档 我们已经知道MongoDB以文档的形式存储数据,而文档是JSON风格的数据结构,由一系列的“字段名-值”对组成,如下所示 { "item": "p ...

  10. gsl安装(Linux系统)

    1. 在gnu的ftp站点http://ftp.gnu.org/gnu/gsl/ 上, 下载最新的gsl-2.x.tar.gz 2. 解压下载好的gsl-2.x.tar.gz 压缩包,$tar -zx ...