socket脚步 关联函数的左右边界有双引号和反斜杠时是否需要转义
socket协议的脚步,关联函数位置设置正确。data.ws中要关联的内容:
recvbuf5 109
"{\"onlineEngineers\":1,\"freeEngineers\":1,\"waitingUsers\":0,\"servicingU"
"sers\":0,\"position\":1,\"cmd\":\"CMD_ACD_INFO\"}"
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","LB=:","RB=,\"free",1,0,-1);
想要对onlineEngineers\":和,\"freeEngineers之间的1进行关联:
(1)当使用
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","LB=:","RB=,\"free",1,0,-1);时,
在未对双引号和\进行转义时,返回:
Action.c(25): lrs_save_searched_string(socket0, get_last_received_buffer, Allnum, LB=:, RB=,, 1, 0, -1)
Action.c(25): Notify: Saving Parameter "Allnum = 1".
(2)当使用
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","LB=:","RB=,\\\"free",1,0,-1);时,
在已对双引号和\进行转义时,返回:
Action.c(25): fiCalcSearchedStringLength: Right boundary not found
Action.c(25): Error : Unable to save to parameter lrs_save_searched_string :. Error code : 9015.
疑问:
未对双引号和\进行转义时,能回放通过,已进行转义后,提示找不到右边界,为什么呢??? 应该要转义才对,不转义虽然事务成功了,但实际业务没成功吧 回复 2# msnshow
还没往下进行呢 就是验证了一下关联成不成。
但是很郁闷的是 转义之后 报错 版主帮忙看看 转义的语句有没有问题? 已解决
原因:
真正的BUF 里面的字符串是这样的 "onlineEngineers":1,"freeEngineers"
所以只需考虑在这个字符串上转义,不必考虑 LR 给你展现的报文,那是经过转义后的
即:使用
lrs_save_searched_string("socket0",LRS_LAST_RECEIVED,"Allnum","LB=:","RB=,\"free",1,0,-1);就能够成功关联;
总结:
在所有socket脚本的buf内容中,当要指定关联函数的左右边界时,忽略buf中显示的 \,只对双引号进行转义。
另外:
任何脚本中的\ 不需要转义
任何脚本中的" 都需要转义 学习一下 学习一下 过路 学习了
页:
[1]