lrs_length_receive的问题,谢谢
lrs_length_receive的问题脚本(LR Winsocket):int ReturnValue;
char *bufOvern;
int sizeOvern;
ReturnValue = lrs_length_receive("socket0","buf2",2,"LB=DEFAULTLOGIN","RB=210286","Offset=5","Ordinal=1",LrsLastArg);
lr_output_message("********ReturnValue = %d*********",ReturnValue);
lrs_get_buffer_by_name("buf2",&bufOvern,&sizeOvern);
lrs_save_param_ex("socket0","user",bufOvern,1,sizeOvern,"ascii","NewParam");
lr_output_message("********bufOvern = %s*********",lr_eval_string("<NewParam>"));
===============================================
执行结果:
vuser_init.c(28): lrs_length_receive(socket0, buf2)
vuser_init.c(29): ********ReturnValue = 0*********
vuser_init.c(31): lrs_get_buffer_by_name (buf2, buf_p, size_p)
vuser_init.c(32): lrs_save_param_ex(socket0, user, buf_p, 1, 81, ascii, NewParam)
vuser_init.c(33): ********bufOvern = \x00\x00M\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00旸OSGMBHDEFAULTLOGIN\x95 晻 旸EFAULT\x95 \x95210286\x95 \x951\x95 昐UCCESS\x95\x04*********
vuser_init.c(34): lrs_send(socket0, buf3)
===============================================
问题:
1、lrs_length_receive函数的作用是不是只接收指定的LB和RB之间的数据(以及offset和ordinal限定的内容);
2、如果上述理解正确那么如何将利用该函数所接收到的缓冲区内容读取并打印出来
为了这个问题已经郁闷了好几天了,在此对各位的回复先行谢过! 1,是的,接收的是指定的长度。
2,是要打印到replay log里,那不需要这个函数,直接设置log就可以了。 本帖最后由 cafard-haibin 于 2011-6-9 23:28 编辑
举个例子吧:
假设数据包的数据是“abcdefg”
lrs_length_receive("socket0", "buf1", Offset=2 , "Size=2", LrsLastArg);
上面的语句则只接受数据: "123456789"
lrs_length_receive("socket0", "buf2", 2, "LB=1", "RB=5", "Offset=2", "Ordinal=1", LrsLastArg);
上面的语句则只接受数据:3
页:
[1]