mFC 在udp接收线程接收实时数据 UDP是不可靠的,数据会丢失,建议用TCP socket,这里有socket例子,可参考:thttp://download.csdn.net/detail/geoff08zhang/4571358 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主说没丢包了。1.楼主用两个缓存区交互交替接收数据这个方法是不错,但是楼主要考虑到一个问题。是不是两个缓冲区够大,就是还没等到你写完数据库,另外个也满了,又交替把你第一个满的缓冲区给清空了?2.你用PostMessage通知界面线程写数据库?(这个会卡吧)用PostThreadMessage发送到工作线程中去吧。(觉得麻烦可以用互斥进程来实现)主要看看1中的问题是否存在。 Quote: 引用 3 楼 tiger9991 的回复:楼主说没丢包了。1.楼主用两个缓存区交互交替接收数据这个方法是不错,但是楼主要考虑到一个问题。是不是两个缓冲区够大,就是还没等到你写完数据库,另外个也满了,又交替把你第一个满的缓冲区给清空了?///////////////////////////////////我给了10秒让一个链表接收数据,另外一个链表写数据,通过事务一次提交10000个insert into (没用批量),它写数据库的时间在5秒钟左右 (TCP 不适用实时接收数据,下位机不会发重复的包)我还是试试线程同步,昨天看到一篇文章说,工业上对实时数据接收和存储要求严格,不是觉得TCP就用TCP的,这个必须以UDP为前提, 接收线程中,没100毫秒会收到一组数据,在处理写入的线程中改怎么弄呢?线程同步的话,在写数据库时,可能导致接收线程没法接收数据包啊、、、、、接收线程能sleep么 楼主!!我现在做的一个项目也是基于UDP的实时数据接收和数据库存储....接收我用的是c#写的..按照约定的通讯协议接收解析...但是用了好多种方法掉包率都一直很高...可不可以指点一下..拜托了!!! 我也是在写UDP协议接收数据实时显示在界面上的……求发类似的程序或者指导啊!!! Microsoft C++ 异常: 内存位置 0x0012f424 处的 _com_error COM自动化接口的问题,郁闷死我了,分全给了~~~ 关于消息处理 CString的使用问题 如何在VC应用程序中获取所有ODBC驱动程序名 图像融合问题 c程序如何在vc++中运行?需要哪些更改? 有什么办法可以自动检查资源泄漏? 我该学习什么? 学习两个月COM+能够达到什么程度??? dll导出类出现的问题 MFC中CreateEx的参数问题
(觉得麻烦可以用互斥进程来实现)主要看看1中的问题是否存在。