请教一个问题,希望大家能回复
(1)我的套接字协议是UDP;
(2)我的电脑做Client,另外一个带处理器的数据采集板做server;
(3)我的程序思路如下:
先用sendto()函数发送命令字(一些特定的字节被封装在UDP的真正数据段,严格按照UDP包的格式)给
server;server解析我的命令字,根据不同命令字传送不同的数据给我(client);client收到数据做判断以后将数据显示在屏上;
(4)我的client端程序描叙如下:
置flag=0;(标志位)
调用sendto()函数,给server发送命令字;
接着是:while(flag==0)
{
一直用recvfrom()函数接收,若接收到数据则flag=1;
}
调试结果是这样的:client发送给server的命令字给ethereal软件截获到,正确;server响应client的数据也发送出来了(也被ethereal软件截获到,完全正确)。但是:我的应用程序(client端)接收到的数据总是等于刚刚发送出去的数据(我的发送缓冲区和接收缓冲区明显是不同的数组)。
server端是正确解析了的,因为我用抓包软件抓到了从server发给client的数据,并且数据就是我想要的数据,一点错误都没有。
请问是怎么回事情,谢谢。