在一次做项目中,由于Socket协议接收的报文会有不定长度,基本每次都会有变化,在data.ws 接收buf1有固定长度,这是在接收的实时报文会有长度不一致的问题。这时LR默认会去与接收的报文的长度及报文内容,会与data.ws中定义的相对比,以确定返回的报文的正确与否,在不一致情况,则会出现比对耗时较长,影响整体TPS。
好了,接下直接说明方法,TPS处理能力至少提升十倍哦~
即在最后接收报文函数”lrs_get_last_received_buffer”之后,添加:lrs_receive_ex(“socket0“, “buf1”, "NumberOfBytesToRecv=300", LrsLastArg);即可实现。
其中NumberOfBytesToRecv=300,则是强制接收为300位返回的buffer。
详情也可查看另一边关于Socket协议脚本编写指南:LR编写Socket脚本方法1(XML/16进制报文data.ws格式)。