- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LoadRunner中使用windows_socket协议
在LoadRunner中使用windows_socket协议,大体说来,就像把大象放进冰箱一样总共分三步:第一步:把冰箱门打开。//建立到服务端的连接??? rc = ?? ?lrs_create_socket(socket0, TCP, LocalHost=0, RemoteHost=3:8988, LrsLastArg);if (rc==0) ?????? lr_output_message(Socket? was successfully created ); else ?????? lr_output_message(An error occurred while creating the socket, Error Code: %d, rc); 第二步:把大象装进去。??? lrs_send(socket0, buf0, LrsLastArg);?? //往socket0发送buf0中的数据?? lrs_receive(socket0, buf1, LrsLastArg);//将socke0中返回的数据存放到buf1中第三步:把冰箱门带上。??? ??? //关闭连接??? lrs_close_socket(socket0);大家肯定已经看出来了,整个关键是在第二步,要把这么一头大象装到冰箱里可不是件容易的事情,我们要对传送的数据做一些处理才行。LR会把你发送的数据包内容写到data.ws这个文件中,那么我们在此也同样应该把数据写到data.ws中去。假设我要发送的是“00100312303456”这一串字符,那么我就直接把它写到data.ws中,脚本如下:;WSRData 2 1send buf0 1000100312303456? //注意要加recv buf1 128-1运行脚本,可以看到执行成功。在日志信息中可以打印出发送的BUFFER和接收到的BUFFER内容。接下来,我们要对发送的字符串进行参数化,让脚本每次发送的字符串都不一样,怎么做呢?方法有两种:1、直接参数化。在data.ws中是可以直接进行参数化的,具体操作我就不多说了。要注意的是默认的参数名称符号是尖括号(),和HTTP协议的大括号({})不同。脚本如下:send buf0 106 string? //string是自定义的参数名这种方法最简单,也容易理解。2、第二种方法则麻烦一点,下面重点做个介绍。事情是这样的:如果我要发送的数据是很通过简单的方法拼接起来,举个简单的例子,比如是“用户名(假设是123)+密码(假设是456)”,在这种情况下,使用第一种方法就够用了,我可以设置两个参数username和password,写成send buf0 106 usernamepassword的方式就可以了。但是这边的情况稍微复杂一些,发送的数据格式还需要加上字符串的长度,比如在上面的例子中,需要这样表示:00100312303456。前四位0010是表示后面发送的字符串总长度是10,后面的03则表示用户名有3位,再后面的123才是真正的用户名,再后面的03456也是同样的道理。而每次发送的用户名长度不同,字符串也就不同,比如用户名如果是1234,那么我的报文就应该是这样“001104123403456”这样一来,我就不能通过简单地拼接的方式来发送了,而需要再对它进行一些处理。我的方法是在action中进行字符串的拼接和处理:?char data[200];?char length[20];?len = strlen(lr_eval_string({usermame}));?sprintf(length,%d,len);?strcat(data,length);?strcat(data,{username});然后,再通过lrs_save_param_ex函数把该数据保存到data_param参数中。lrs_save_param_ex(socket0, user, data, 0, strlen(data),NULL, data_param);最后,在data.ws文件中使用data_param参数发送数据包:send buf0 data_param
您可能关注的文档
- 2011一级建造师考试水利水电工程管理与实务模拟题1.doc
- 2011中央电大_人力资源管理02任务.doc
- 2011上半年干部考核办法.doc
- 2011会计基础机试题重点.doc
- 2011初三政治中考专题补充.doc
- 2011学年第一学期三年级数学期终测试卷.doc
- 2011宏观经济学名词解释.doc
- 2011家居趋势剖析.doc
- 2011就业指导课程大纲.doc
- 2011届毕业论文任务书样例.doc
- 沙洲职业工学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 苏州卫生职业技术学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 无锡科技职业学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 盐城工业职业技术学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 南京传媒学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 苏州职业技术大学《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 苏州大学应用技术学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 南京机电职业技术学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 南京旅游职业学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
- 苏州百年职业学院《财务管理》2025 - 2026学年第一学期期末试卷.docx
文档评论(0)