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");}
放在循环之外则只能收到一个循环的数据。