2019-07-17 11:11发布
mean123 发表于 2015-12-15 12:46 下位机一次发送的数据量很大,所以一帧一帧的传送,我程序里面读取TCP数据函数放在while循环中,所以每次也是一帧一帧读,但前一次读取的数据会被下一次数据覆盖。我在网口调试助手里面发送123给我的程序,重复发送10次,结果只有一次的数据就显示123而不是123连续十次出现,请问我该怎么解决? ...
bamenwhj 发表于 2015-12-15 14:59 1、模式为默认值,超时为-1,字节大小为30=3*10,即一次读出10个123:“123123123123123123123123123132”; 关于【读取TCP数据】,模式一般选取默认值(即标准模式),读取的内容由字节大小决定,对于变长度的数据,一般的协议中会用前两位表示这一帧数据的长度,先读出数据长度,再读数据。 2、如果你要的是10次123(而 ...
最多设置5个标签!
【读取TCP数据】自带缓冲区的,把超时设成-1,读取的字节即缓冲区的大小,那样每次都收到的指定字节长度的数据。
1、模式为默认值,超时为-1,字节大小为30=3*10,即一次读出10个123:“123123123123123123123123123132”;
关于【读取TCP数据】,模式一般选取默认值(即标准模式),读取的内容由字节大小决定,对于变长度的数据,一般的协议中会用前两位表示这一帧数据的长度,先读出数据长度,再读数据。
2、如果你要的是10次123(而不是一次连续的10个123),那你的程序也可以认为是正确的,只是读的很快,你看不出连续的10次。如果你想要记录相应的数据,可以考虑入队列的方法,每次接收到即入一次队列。
我按照你说的把模式改为默认超时设为-1,通过网调试助手发数据过了很久才收到怎么回事,我改为immediate,就可以立即收到数据。这是什么问题?
一周热门 更多>