ggogw 发表于 2009-11-27 11:48:33

参数化问题

Action()
{
    int is_digit = TRUE;
    char ParamBuf;
        lr_save_string("13502409335","ParamBuf");
    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=TSERVER:1007", LrsLastArg);
    lrs_receive("socket0", "buf0", LrsLastArg);
    lr_think_time(4);
    lrs_save_param_ex("socket0", "user", lr_eval_string("{ParamBuf}"), 0,
                                          strlen(lr_eval_string("{ParamBuf}")),NULL, "param");

// while(is_digit){
          lrs_send("socket0", "buf1", LrsLastArg);
          lrs_receive("socket0", "buf2", LrsLastArg);
// }
        lr_output_message ("param1: %s", lr_eval_string("{ParamBuf}"));
        lr_output_message ("param1: %s", lr_eval_string("{param}"));
        return 0;
}
data.ws部分:
sendbuf1 76
"*HQ201{param},AH&A1131092309724211316405670000261109&B0700000000&F0000&K10000#"
如何把lr_save_string("13502409335","ParamBuf");里的13502409335参数化,使得每次都不一样。

SANGZHEYING 发表于 2009-11-27 22:27:43

不用lr_save_param(),可以直接用lrs_save_param_ex()将数组参数化。
看了代码,不是太明白你的意思~~
1.你要做参数化的部分("13502409335",是你自己构造的,还是从服务器返回的?如果是自己构造的,那第七行的lr_receive()我不知道有什么用意;如果是从服务器返回的,那么data.ws部分应该先写recv buf0~
2.代码第九行的lrs_save_param_ex()函数,我觉得写成lrs_save_param_ex("socket0", "user", parambuf, 0, 11, "param")就可以了(如果是自己要构造发送的信息就要考虑"13502409335"如何变化,保证每次发送的都不一样)。
以上是直接用数组做参数化的方法。
另外,就是做一个参数表,用lr_save_string在脚本中做参数化~~
页: [1]
查看完整版本: 参数化问题