qq2949119 发表于 2012-2-22 17:00:59

socket关联问题求助

其中buf3需要做关联

action{
lrs_create_socket("socket0", "TCP", "RemoteHost=192.168.1.36:7000", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
lrs_close_socket("socket0");
lrs_create_socket("socket1", "TCP", "RemoteHost=192.168.1.36:9980", LrsLastArg);
lrs_send("socket1", "buf1", LrsLastArg);
lrs_close_socket("socket1");
lrs_create_socket("socket2", "TCP", "RemoteHost=192.168.1.36:9980", LrsLastArg);
lrs_send("socket2", "buf2", LrsLastArg);
lrs_receive("socket2", "buf3", LrsLastArg);
……
return 0;
}

data.ws
recv buf3 44
"\x02\x02"
"("
"\x00\x01"
"…"
"\x80\x02\x00\x00\x00"
"<Q"
"\x12\x00\x02\x00\x00\x00\x00\x00"
"\t"
"\x00"
"QQ2949119?÷"
"\x90"
"?"
"\x80\x19"
"t"
"\x1a"
"??3O"


红色部分表示每次返回有变化的部分

我关联后的内容如下:
……
lrs_receive("socket2", "buf3", LrsLastArg);
lrs_save_param_ex("socket2","received","buf3",0,44,NULL,"Param_User");//所有内容作保存到一个参数Param_User中

data.ws中修改内容如下:
recv buf3 44
"Param_User"

回放结果:一直停在
Action.c(32): lrs_receive(socket2, buf3)


试了lrs_save_searched_string()也不行

云层 发表于 2012-2-22 17:01:00

你写lrs_save_searched_string("socket2","received",LRS_LAST_RECEIVED ,"LB=\x80","RB=\x00",1,1-1);
试试,不过我觉得你这个东西变化的数据包结构不说,你这样关联没啥意思的,最好再能转码一下,就简单很多了,16进制的东西处理起来不方便

qq2949119 发表于 2012-2-22 17:32:02

云老呀,敢问转码是怎么做的?

云层 发表于 2012-2-22 17:38:01

问开发,你们这个串是怎么做数据结构的是不是有办法解开

qq2949119 发表于 2012-2-22 18:09:25

另外,lrs_save_searched_string("socket2",LRS_LAST_RECEIVED ,"LB=\x80","RB=\x00",1,1-1);写了 允许提示:
Action.c (31): type error in argument 5 to `LrsSaveSearchedString'; found `int' expected `pointer to char'
Action.c (31): insufficient number of arguments to `LrsSaveSearchedString'
f:\\imeeting\\all\\\\combined_all.c (4): 2 errors, not writing pre_cci.ci

qq2949119 发表于 2012-2-22 18:11:29

允许 == 运行

qq2949119 发表于 2012-2-22 18:56:28

开发老大不在,开发小弟的意思是:服务器返回的pdu就是十六进制的。明天好好问问开发老大去了~再次感谢云老的指教:)

itjavahead 发表于 2012-3-6 14:13:16

请问 怎么操作 才能将自己发的帖子标识为“已解决”?
页: [1]
查看完整版本: socket关联问题求助