怎样从lrs_receive buff查找数据
本帖最后由 liujinkui 于 2010-12-16 10:18 编辑用什么方法查找数据,或判断指定数据在buf包中 lrs_get_last_received_buffer(socket_name, &ActualBuffer, &NumberOfBytes); lrs_save_param_ex用偏移量和攫取的长度就可以了 先感谢两位的回答。
我昨天可能没有说清楚。
是想通过receive包中的信息判断是否包含指定数据
如用户登陆 成功了 receive包返回的是系统的界面信息,失败了 receive包返回的是错误提示信息。
想加一个判断,获取 receive buf查找是否有“登陆失败”文字,如果存在脚本退出
问题是我不知道 receive buf 是多长字符“登陆失败”在什么位置 用lrs_save_param,如果不知道长度和偏移量的话,个人觉得可以先把偏移量设为0,然后指定一个长度,回放脚本后查看服务器返回的数据,然后根据这个数据再重新设定偏移量和长度,把需要的数据找出来。我之前有这样做过,仅供lz参考。 如果不知道长度和不知道左边界和右边界的话,是没有没办有LR自带的函数截取的,
不过你可以将返回的报文拿去遍历,查找返回报文是否包含你需要的字符串 将你的返回报文做这样的的判断就可以了
比如 返回报文为"2143213123登陆成功"
char *str=offset = (int)(position - str + 1);
char *str1="登陆成功"//你要查找的字符串
if (strstr(str,str1))
{
lr_output_message("pass");
}
else
{
lr_output_message("false");
} char *str=offset = (int)(position - str + 1);
这写错了,应该是char *str="2143213123登陆成功" 回复 8# kam
呵呵,你是个热心的人。
这个我在帮助中看到了。
那我怎么把BUF内容赋给str哪? 刚好上班无聊,所以就。。。
str就是你接受到报文,我是用str来表示,至于你的脚本是用什么变量来接受就用哪个
页:
[1]