用UDP,固定IP,这样最简单了。
建个char cRecvBuffer[512],用来做缓冲,一般来说512个字符正合适
建个int或者bool类型的rCnt,让它等于如下:
rCnt=sockSrvrUdp.ReceiveFrom(cRecvBuffer,512,ipStr,uPort);
其中cRecvBuffer上面介绍过,ipStr是下位机的ip号,uPort是下位机与你通讯的端口号
如果rCnt不等于NULL,就进入一下一步数据分析。
数据分析:
假设你的通信数据是以4个字节做帧头,然后后面都是float类型数据。
建个float数据的指针,指到有效数据的头部。一般习惯用tmpf命名,tmp表示临时,f表示float类型
float* tmpf=(float*)(cRevBuffer+4);
从网络数据包中取出float型数据,赋值到一个你自己定义的数组,这个数组的名字一般可以叫recvData
for(i=0;i<100;i++)
{
recvData[i]=*(tmpf+i);
}
其中,float数据总数我写成100了,这个根据你实际要接收多少个来定。
注意:一个float要4个char的字节,别把指针写越界了