您的位置:程序门 -> .net技术 -> vc.net



在线等答案


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


在线等答案[无满意答案结贴]
发表于:2008-03-10 10:03:31 楼主
问题:
  服务器端通过rs232协议(串口)向客户端发送数据,每包长377个字节,包间隔是210ms,总的传输时间没有确定(只有接收到结束命令,才关闭串口);
提问:
  由于包太大,总时间没有确定,并且有严格的时间控制,那么客户端接收的buffer如何确定, 是生成文件?还是放在db中?
发表于:2008-03-10 13:37:551楼 得分:0
接收做成计时器,判断有无信号进行打开和关闭
发表于:2008-03-10 16:04:382楼 得分:0
没看明白。主要是关系客户端buffer的大小问题吧?客户端是pc还是单片机?pc的话开个几m 的buffer 放数据也可以啊。
发表于:2008-03-10 17:09:123楼 得分:0
有严格的时间控制,那么就要好好设计一下了。
接收数据之后,将数据存入内存buffer中, 然后接着等待下一个包。。。
另外,开一个线程将接受的数据进行处理(分析,存入文件,或存入db)。
就好比1个人不断地接从车上扔下来的砖块放到后边,另外一个人将放到地上的砖块拿走进行处理。。。

这个时候的内存buffer的大小就要看  接收数据的速度跟处理数据的速度了。
例如,接收了2次数据,但是处理数据连一次都没有完成,那么内存buffer至少要开数据包的3倍以上。 有点像“缓存”的意思。
不知道对你有没有用处,大家共同努力吧


快速检索

最新资讯
热门点击