使用CH395Q做一个设备,和上位机通信,CH395Q工作于SERVER模式,TCP_MSS设置为1400,发送缓冲区和接收缓冲区大小都是6kB,只建一个socket0。有两个疑问请教:
1:ch395接收4kB数据。有时候4kB收到中断,一次读出;有时候4k字节,收到两次接收中断,分两次读出(如2800+1200,有零有整)。一次读取方便处理,两次读出就涉及拼数据包的问题。4k字节到底分几次收到,1次还是2次,也没有找到规律。CH395和上位机采用短包通信时,如每次数据交互1k,不存在这个问题,收到1次中断,1次全部读出来。数据接收中断和数据长度有没有规律?
2:CH395和上位机低频度通信时,没发现异常;当两者高频率通信时,偶尔会产生CH395的连接中断,这时候上位机就得重新连接才能通信。请问这个连接中断是什么原因产生的?网线都没有动过,肯定不是硬件的原因,再重新关闭socket,建立server,上位机还能连上。
谢谢您!
|