zoukankan      html  css  js  c++  java
  • LR socket接收数据 标准函数,结构体解析

    //接收 
    DWORD RecvBuf(char* cRecvBuf,char* cSocketName,char* cBufName)
    {
        int ret=0;
        char * cRecvdata=0;
        int iRecvdatalen=0;
        DWORD begin=0,cur=0;
        begin=clock();
        while(1)
        {
            ret=lrs_receive(cSocketName,cBufName,LrsLastArg);    
            switch(ret)
            {
            case 0:
            case LRS_RECV_MISMATCH :
                ret=lrs_get_last_received_buffer(cSocketName,&cRecvdata,&iRecvdatalen);
                if(ret)
                {
                    lr_error_message("last_recv获取接收缓冲区出错,错误码:%d",ret);
                    lrs_free_buffer(cRecvdata);
                    return ERROR;
                }
                if(iRecvdatalen)
                {
    memcpy(cRecvBuf,cRecvdata,iRecvdatalen);
                    lrs_free_buffer(cRecvdata);
                    return SUCCESS;
                }
                cur=clock();
                if((cur-begin)>=10000)
                {
                    lr_error_message ("接收超时,接收等待时间=%d毫秒",cur-begin);
                    return ERROR;
                }
                continue;
            default:
                lr_error_message ("recv接收数据出错,错误码:%d",ret);
                return ERROR;
            }//end switch
        }//end while
        return SUCCESS;

    ret=RecvBuf(cRecvBuf,"socket0","buf10");
    lr_error_message("get string :%s",cRecvBuf);
    pHead=(Head *)cRecvBuf;
    lr_error_message("get string :%d",pHead->iPackageType);

    注:需要在data里注意  


    recv buf10 12

  • 相关阅读:
    CSS行高——line-height
    非替换元素和替换元素
    7-7 jmu_python_是否是数 (10 分)
    7-8 jmu-python-从列表中删除元素 (15 分)
    7-6 jmu_python_最大公约数&最小公倍数 (10 分)
    7-5 jmu-python-分段函数1 (10 分)
    7-4 jmu-python-判断是否构成三角形 (10 分)
    7-3 jmu-python-回文数判断(5位数字) (10 分)
    7-2 jmu-python-九九乘法表(矩形) (10 分)
    7-1 jmu-python-汇率兑换 (10 分)
  • 原文地址:https://www.cnblogs.com/tester-huang/p/4645955.html
Copyright © 2011-2022 走看看