LoadRunner WinSocket协议流程和常用函数详解.docx

LoadRunner WinSocket协议流程和常用函数详解.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?1、创建Socket连接: int rc = 0; rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=3:9993", LrsLastArg); // lrs_create_socket("连接名", "连接方式", "LocalHost=0", "RemoteHost=访问地址和端口", 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); 2、发送数据: lrs_send("socket0", "buf0", LrsLastArg); //将buf0中的内容发送到指定的端口socket 3、接收数据: lrs_receive("socket0", "buf1", LrsLastArg); //接受服务器返回数据保存到buf1 lrs_receive_ex("socket0", "buf2", "NumberOfBytesToRecv=126", LrsLastArg); //强制指定接收报文的长度 4、断开Socket连接: lrs_close_socket("socket0"); 5、关于data.ws: data.ws中存放的收发的数据包。格式为 ;WSRData 2 1 send buf0 399 //send ( 数据包编号与脚本对应) ( 数据长度以字节Bytes 计算) "GET /WebTours/ HTTP/1.1\r\n" "Accept: */*\r\n" "Accept-Language: zh-cn\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trid" "ent/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729" "; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)\r\n" "Accept-Encoding: gzip, deflate\r\n" "If-Modified-Since: Tue, 08 May 2007 15:40:23 GMT\r\n" "Host: 35:1080\r\n" "Connection: Keep-Alive\r\n" "\r\n" /*发送的数据包, 数据长度可以不指定, 会根据实际数据长度自动调整*/ recv buf1 126 "HTTP/1.1 304 Not modified\r\n" "Server: Xitami\r\n" "Date: Thu, 17 Apr 2014 03:17:28 GMT\r\n" "Content-length: 0\r\n" "Content-type: text/html\r\n" "\r\n" /*接收的数据包, 数据包内容可以为空,但数据长度必须指定 。在脚本执行过程不会校验数据内容,但会校验返回报文的长度与指定长度是否一致,如果长度不相等,LR会重复接收,知道10秒超时,这样会导致事务等待*/ /*使用 lrs_receive_ex()函数强制指定报文长度时, 指定长度必须小于或等于实际报文长度 ,否则也会出现重复接收的问题。但使用这种方法有时无法接收到完整数据,因为有时返回数据是动态的。此时可以使 用 lrs_set_receive_option()函数,设置lrs_receive()的 结束方式,具体方法见博文《 lrs_receive函数超时问题》 */ -1 6、关联 lrs_save_param("socket0",LRS_LAST_RECEIVED,"result",0,4); // lrs_save_param("端口连接名",LRS_LAST_RECEIVED,保存参数名,偏移量,保存长度); //放在lrs_receive()函数之后,保存最后一次接收的数据包。 LRS_LAST_RECEIVED表示最后一次端口返回。 //保存长度设置为-1时,为不指定长度 lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"result1","LB=304","

文档评论(0)

勤能补拙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档