关闭

zbuf方案一:缺点直接拿结构体当缓冲区,达不到很好的速度

标签: nullstruct
1325人阅读 评论(0) 收藏 举报

struct DataToSend framedate1;

framedate1.FrameHead[0]=0xAA;
framedate1.FrameHead[1]=0x55;
framedate1.FrameTail[0]=0xA5;
framedate1.FrameTail[1]=0x5A;
//framedate1.FrameLength=161;  暂时未用到不定数据帧
framedate1.FrameType=0xA1;
framedate1.DataType=0xD1;

for (int j=0;j<20;j++)
{
framedate1.SendData[j]=Dealdata.waveBuff[j+i*20];
cout<<" sin  = "<<framedate1.SendData[j]<<"| ";
}


ZBUF_ID zbuf_send;
if((zbuf_send=zbufCreate ())==NULL)
{printf("zbuf_send Creat is Error!\n");}
zbufInsertBuf(zbuf_send,NULL,0,(char *)&framedate1,166,NULL,0);

//if (send(sFdtemp,(char *)&framedate1,166,0)==ERROR)
if( zbufSockSend(sFdtemp,zbuf_send,166,0)==NULL)
{
logMsg("netDATASend: unable to send data !\n",0,0,0,0,0,0);
semGive(semNetCltLink);
break;
}



PS:

在此情况下数据产生畸变。加上zbufClose也是。

如果语句ZBUF_ID zbuf_send;
if((zbuf_send=zbufCreate ())==NULL)
{printf("zbuf_send Creat is Error!\n");}

放在循环之外则只能收到一个循环的数据。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:419002次
    • 积分:4504
    • 等级:
    • 排名:第6823名
    • 原创:13篇
    • 转载:194篇
    • 译文:0篇
    • 评论:57条
    文章分类
    最新评论