X
xw1021
Unregistered / Unconfirmed
GUEST, unregistred user!
程序流程如下:
发送端 卫星转发 接收端
数据源--串口接收--打成UDP包发送--上卫星转发--接收UDP包并解包--从串口发送--目的端
我的实现办法:
发送端串口用spcomm接收然后打包发送(每击活一次SPCOMM的onrecievedate事件执行一次)
接收短是依靠判断是否收到UDP包来确定的,一旦收到UDP包则解包通过spcomm控件从串口发送。
问题:
当数据源的数据内容较大时(比如2K byte )则目的端收到到的数据基本正确,丢失的包很少,100个丢9个。
但当数据源的数据内容较较小是,目的端根本就收不到(目的端有一个筛选器,当获得的包里有无效字符或乱码时,它将会把这个包丢弃。)
我检查了从UDP发送包到UDP包接收这段过程,数据是正确的,所以我怀疑是接收端串口数据未发完时,又有新的UDP包到了,
触发语句执行造成部分缓冲池里的数据被覆盖。
请各位高手帮我分析一下出错原因,并提供一个解决办法!!!!!
(为了这个程序我已经两个白天一个晚上没睡了)
发送端 卫星转发 接收端
数据源--串口接收--打成UDP包发送--上卫星转发--接收UDP包并解包--从串口发送--目的端
我的实现办法:
发送端串口用spcomm接收然后打包发送(每击活一次SPCOMM的onrecievedate事件执行一次)
接收短是依靠判断是否收到UDP包来确定的,一旦收到UDP包则解包通过spcomm控件从串口发送。
问题:
当数据源的数据内容较大时(比如2K byte )则目的端收到到的数据基本正确,丢失的包很少,100个丢9个。
但当数据源的数据内容较较小是,目的端根本就收不到(目的端有一个筛选器,当获得的包里有无效字符或乱码时,它将会把这个包丢弃。)
我检查了从UDP发送包到UDP包接收这段过程,数据是正确的,所以我怀疑是接收端串口数据未发完时,又有新的UDP包到了,
触发语句执行造成部分缓冲池里的数据被覆盖。
请各位高手帮我分析一下出错原因,并提供一个解决办法!!!!!
(为了这个程序我已经两个白天一个晚上没睡了)