dionysus 发表于 2010-7-22 21:13:25

WinSocket报错,Specified buffer doesn't exist. Error code : 9011.

求助,这几天使用WinSocket协议编写脚本,但执行的时候报错:Specified buffer doesn't exist. Error code : 9011.
脚本实现创建一个socket监听本地端口,并对连接进来的socket请求做回复。脚本如下:
    //创建本地监听
    lr_start_transaction("监听");
    lrs_create_socket("socket0", "TCP", "LocalHost=7771", "Backlog=5",LrsLastArg);

      i = lrs_accept_connection("socket0", "socket7");   
         if(i==0)         //接收到连接
         {
               lr_end_transaction("监听", LR_PASS);
         }else{
               lr_end_transaction("监听", LR_FAIL);
               lr_error_message("监听 returns fail.");
               return 0;
         }

    lrs_receive("socket7", "buf10", LrsLastArg);

    lrs_send("socket7", "buf11",LrsLastArg);

buf10可以接收到,但send的时候却提示找不到buf11 “Error : Specified buffer buf11 doesn't exist. Error code : 9011.”。
data.ws文件中明明有buf11:
sendbuf11 61
    "0000280023XXXXXXX000002X000000000<ap><retno>0000</retno></ap>"

怀疑是不是因为本地监听的问题,但这样的报错提示却很怪异。大家有谁遇到过么?

dionysus 发表于 2010-7-23 08:51:21

把问题顶上去...

lnqhzb 发表于 2010-7-23 10:25:07

在data.ws文件里, 将recv 和 send 的顺序互换一下, 可以解决问题。

这里还有一点疑惑,不知道是不是lr 默认规定 send 和 revc有严格的顺序?

dionysus 发表于 2010-7-23 11:24:02

谢谢!搞定,但不知道为什么data.ws里的buf还需要有顺序?

woaiwojia_shan 发表于 2011-7-13 17:34:39

回复 4# dionysus


亲爱滴版主,我也遇到这个问题,可是ws文件里面那么多的send和revc 一个一个都要换过来吗? 怎么换啊?求教中....

zhengaiqi 发表于 2013-6-5 11:24:44

楼主是怎么定义i的?
页: [1]
查看完整版本: WinSocket报错,Specified buffer doesn't exist. Error code : 9011.