gil's pkm2

录制socket协议的脚本回放出错

录制socket协议的VU脚本,回放出错,能否解决

请问:
1.rational有没有tcp/ip的协议?
2.我录制的系统是用socket和tcp/ip协议的,C/S并为三层结构,但rational中没有tcp/ip协议,只能用socket了,脚本可以顺利录制,但对于脚本的意义,本人实在无能为力,不会修改。回放时,其中有三个command运行失败,这三个命令形式如下:(列出两个示意一下)
sock_recv ["4006"] "$"; /* 24 bytes */
sock_disconnect(TESTTOOL_1);
set Server_connection = TESTTOOL;
set Think_avg = 31;
sock_send
    "`03da0000280000000300000000000000080000000c000000670065007400750070006400"
    "610074006500760065007200`";


sock_recv ["4014"] "$"; /* 32 bytes */
sock_disconnect(TESTTOOL_2);
TESTTOOL_3 = sock_connect("4015", "TESTTOOL:211");
set Server_connection = TESTTOOL_3;
set Think_avg = 0;
sock_send
    "`04da00003400000008000000160000004700720070004100700070005300650072007600"
    "650072002e00470072007000530065007200760065007200`";

能通过的command示例如下:
sock_nrecv ["4004"] 16;
sock_send
    "`03da0000240000000300000000000000080000000a000000730065007200760065007200"
    "7300740061007400`";

我发现通不过的都是sock_recv 标志且有"$"符号,通过的则是sock_nrecv标志,请问有没有解决办法啊?

1、socket使用的就是tcpip协议
2、将sock_recv ["4014"] "$"; /* 32 bytes */
      改成sock_nrecv ["4014"] 32;
      其他的以此类推

 

我知道”$"表示接收完所有数据,而32表示接收32byte,我想问一下楼主,这里应该说实际表示的意义都是一样的,为什么”$"符号会导致错误呢?

This example reads until the end of the connection. It fails only if Timeout_val (subject to scaling) milliseconds expires before reaching the end of the connection:

sock_recv ["cmd003r"]  "$";

posted on 2009-07-29 21:44  gil's pkm2  阅读(298)  评论(0)    收藏  举报

导航