|
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、如果上述理解正确那么如何将利用该函数所接收到的缓冲区内容读取并打印出来
为了这个问题已经郁闷了好几天了,在此对各位的回复先行谢过! |
|