lrs_save_param_ex的用法

今天写了一个socket脚本,但是要用到关联,百度一搜才发现socket的关联函数比http的要多了几个,感觉很好奇就细究了一下,这是其中lrs_save_param_ex的用法

lrs_save_param_ex是lrs_save_param的扩展函数,包含了lrs_save_param的基本功能。其函数语法结构如下:

intlrs_save_param_ex( char *s_desc,char *type, char *buff, intoffset, intlength, char *encoding, char *param );

s_desc表示指定的Socket名称;

type表示要存储的数据类型,有“user”、“static”、“received”三种,分别代表用户数据(脚本中自己定义的字符串)、静态数据(data.ws中录制的数据)、最后接收的缓冲区数据;

buff表示要保存哪个缓冲区的数据。这个参数与type有对应关系,如果type是“user”、“static”两种,则需要指定具体的buffer名称;如果是“received”则可以忽略这个参数;

offset表示在buffer中的偏移量;

length表示要从buffer中保存的字节数;

encoding表示的是解码方式。对于“user”类型的buffer,需要指定其为ascii或者ebcdic中的一种,NULL值表示默认的格式为ascii。对于“static”与“received”两种类型的buffer,则可以忽略这个参数,使用客户端的原始编码格式来进行解码;

param表示要保存的参数名称。

例3-11演示了这三种用法:UserBuffer是脚本中自定义的字符串,存储的内容是"AAAAAThis is a userbuffer test!",执行代码:

lrs_save_param_ex("socket0","user",UserBuffer,5,26,NULL,"Param_User");

后将会把第5个字符后的26个字符即“This is a userbuffer test!”保存到Param_User中;

如果buf1在data.ws中的内容如下:

recvbuf1 38

"Get your command:Hello client!,长度13."

执行代码:

lrs_save_param_ex("socket0","static","buf1",0,30,NULL,"Param_Static");

后,将会把buf1中从0开始的30个字符即“Get your command:Hello client!”保存到参数Param_Static中。

如果lrs_receive最后接收到的数据包内容为“Length=11Successful.AAAAA”,则执行代码:

lrs_save_param_ex("socket0","received",NULL,9,11,NULL,"Param_Received");

后,将会把从"socket0"收到的缓冲区数据中第9个字节后的11个字节即“Successful.”保存到参数Param_Received中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值