当前位置: 代码迷 >> VC/MFC >> 数据超过一定大小接收时候两次收到
  详细解决方案

数据超过一定大小接收时候两次收到

热度:83   发布时间:2016-05-02 03:41:57.0
数据超过一定大小接收时分两次收到
笔记本跟仪器连接,tcp协议,发送一个指令,仪器发送最近一次测量数据。当里面数据超过280个时,onreceive会响应两次,也就是说分两次接收到,而且数据顺序是反的,这样就不便于数据解码。请问,这是仪器发的问题还是我接收时出的问题?
------解决思路----------------------
仪器程序不是自己设计的吗?这与双方的通信协议有关,发生任何问题都说明双方协调的不好。
------解决思路----------------------
定时接收的话,周期太短了
------解决思路----------------------
TCP本身能保证你按顺序接收到,你这乱序肯定是你使用不当造成的
------解决思路----------------------
应该包大小设置问题,
lz的280个数据,那么每个数据是多少字节,加上TCP的协议头,应该大于每个TCP包设置的大小,因此,做2次发送
所谓数据顺序是反的是啥意思?数据大端小端的问题?如果是这样,必须使用大妈对数据顺序进行对调。基于51的单片机的系统一般都是大端系统,而基于intel兼容芯片的Windows,是小端系统
------解决思路----------------------
你客户端的接收机制是怎么样的!Socket用的是MFC封装的吗?
------解决思路----------------------
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://bbs.csdn.net/topics/380167545
  相关解决方案