wince网络实时传输数据

wany031123 2009-10-15 05:31:50
最近遇到一个问题:
环境如下
wince下串口每秒发送15K数据,我的串口读写缓冲区设置4K,全局数据设置为20K
现在有两个解决办法
请大家分析一下那个更好
1.wince socket同步发送数据 发送数据时锁住全局数据区,直到发完为止,解锁
忧虑:串口缓冲区里的数据是不是因为处理不及时(没有拷贝到全局数据区中)被覆盖

2.wince socket异步发送数据 但是底层的缓冲区不知道有没有20k这么大

谢谢
...全文
116 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzq138 2009-11-06
  • 打赏
  • 举报
回复
为什么要用串口,用wince socket UDP.好象不太需要理会包的大小.收齐一个完整的包才触发事件...
trentliu 2009-10-16
  • 打赏
  • 举报
回复
我做的就是用2K的速率,传输几十K的数据。当然流压缩,分包是必须的
九个太阳2023 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 wany031123 的回复:]
最近遇到一个问题:
环境如下 
  wince下串口每秒发送15K数据,我的串口读写缓冲区设置4K,全局数据设置为20K
现在有两个解决办法 
  请大家分析一下那个更好
  1.wince socket同步发送数据  发送数据时锁住全局数据区,直到发完为止,解锁
忧虑:串口缓冲区里的数据是不是因为处理不及时(没有拷贝到全局数据区中)被覆盖

2.wince socket异步发送数据 但是底层的缓冲区不知道有没有20k这么大

谢谢
[/Quote]

我记得网络驱动一个包不到2K吧,
wany031123 2009-10-16
  • 打赏
  • 举报
回复
几十k的速度,你串口的波特率多大 115200 才14k

串口的数据很频繁 通信频度是不是可以设置更高一些?
wliaoc 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 wany031123 的回复:]
最近遇到一个问题:
环境如下 
  wince下串口每秒发送15K数据,我的串口读写缓冲区设置4K,全局数据设置为20K
现在有两个解决办法 
  请大家分析一下那个更好
  1.wince socket同步发送数据  发送数据时锁住全局数据区,直到发完为止,解锁
忧虑:串口缓冲区里的数据是不是因为处理不及时(没有拷贝到全局数据区中)被覆盖

2.wince socket异步发送数据 但是底层的缓冲区不知道有没有20k这么大

谢谢
[/Quote]
第一种如果串口数据处理频繁,是有可能造成通信堵塞的,要看楼主的通信频度了。
youyou6115 2009-10-16
  • 打赏
  • 举报
回复
接受数据和处理数据分开
西山小月 2009-10-15
  • 打赏
  • 举报
回复
socket不可以控制一下吗?慢一点
trentliu 2009-10-15
  • 打赏
  • 举报
回复
你可以考虑把15K的流进行压缩。 估计也就2-3K。
再拆成2个包进行编号、传送(也可以不拆分包)。 那边再接收2个包,按照编号组包。
循环发送, 1秒传送15K 简直是小儿科。 我最多做过几十K/秒的串口传送。

我用的是c#, GZipStream 压缩流

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧