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

  • 相关阅读:
    JAVA中的内存分配精讲
    java.util.date与java.sql.date
    Java的(PO,VO,TO,BO,DAO,POJO)解释
    Java 编程技术中汉字问题的分析及解决
    Java快捷键制作
    java常用类的使用方法
    高并发之——SimpleDateFormat类的线程安全问题和解决方案
    线程不安全的SimpleDateFormat
    Session不香吗,为什么还要Token?
    Cookie、Session和Token的区别
  • 原文地址:https://www.cnblogs.com/tester-huang/p/4645955.html
Copyright © 2011-2022 走看看