关于SOCKET多线程编程的问题! 多线程socket数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.sina.com.cn/s/blog_5165d4cf0100slkh.htmlhttp://blog.csdn.net/xinxijisuan/article/details/6227961 可以看看“Windows Socket五种IO模型” 数据库同步还需要自己做吗?现在大中型数据库都带有同步数据功能啊?oracel中有个同步复制的功能,可以实现数据库同步。mysql也有一个叫双机热备功能可以实现同步。sqlserver我不太清楚,不过我觉得它的数据同步应该更简单(毕竟是windows的吗)。 还有,你的这个需求,其实socket部分是最不重要的部分。关键部分是,如何保证断点续传(保存恢复),如何保证服务器数据库(应该相当于一个总数据库)中的数据一致性(不出现重复,混乱,数据顺序一致等问题) 有相关资料吗http://blog.csdn.net/woshinia/article/details/8585930 socket多线程,百川归海,就是IOCP 简单点用消息模型,如果并发量好就iocp 这个应该不是很复杂 。 1:不建议每个连接就开一个线程,如果很多的成千上万个那不得死啊 建议先看下socket的网络模型2:网络模型的话 如果你的通信量很少的话 就用异步通信,或者完成例程,通信量大的话还是完成端口比较好点,我建议不管负载大小都用完成端口。源码的话你就搜索一下 网上到处都是的。原理什么的一两句说不清楚3:多包发送的话 要处理分包连包的问题吧,这个你也得注意了。4:数据同步这一块说简单也简单说难也难,这个问题,如果你的连接很少的话那都没有问题的,网上找些源码改一下就好了,但是数据量很大,连接非常多的话 那就有很多问题了。包括网络延迟,服务器负载都要考虑进去的。修改数据的话尽量在表里加个时间字段什么的标记,或者直接在表里面做个判断,不然 虽然多线程同步,但是有时候网络延迟包括cpu处理的速度,会让线程多次修改读取数据库的数据不一致,打个比方,a线程修改数据库,把命令数据投递到消息队列,然后线程结束 释放互斥对象,这个时候B线程得到互斥对象调用数据库里的数据,如果现在网络延迟或者CPU超负荷还没处理完A线程的命令,那么数据库里的数据还没有修改。与内存中的数据就不一致了。5:我过年辞职回家了,现在在家带小孩 开个网店,帮忙点击一下啊 ,进去看看,卖面膜的,如有需要可以买个给老婆女朋友贴贴,http://item.taobao.com/item.htm?spm=a1z10.1.w7394523-7822789539.2.vxL44X&id=39896797127 WC_TREEVIEW//为什么类型不匹配 生成的exe文件不显示图片 关于32和64位的操作系统的编程 请问:MFC中,可以有几个对话框? 关于语言 请问vc里treeview控件同asp.net的treeview控件一样有node属性吗? 这个是云台控制协议,怎么来理解啊,好象是16的,用串口发怎么搞呢,谢谢 调用一个DLL,编译时出错。 为什么执行后不显示窗体? 会VC,MFC,也会COM/DCOM的原理,用VB做过一个三层结构的系统,就是不会用VC做COM,我该怎么办? 在命令行模式,如何不换行同时更新两行内容 VS2005操作EXCEL “未发现数据源名称并且未指定默认驱动程序”
http://blog.csdn.net/xinxijisuan/article/details/6227961
现在大中型数据库都带有同步数据功能啊?oracel中有个同步复制的功能,可以实现数据库同步。
mysql也有一个叫双机热备功能可以实现同步。
sqlserver我不太清楚,不过我觉得它的数据同步应该更简单(毕竟是windows的吗)。
关键部分是,如何保证断点续传(保存恢复),如何保证服务器数据库(应该相当于一个总数据库)中的数据一致性(不出现重复,混乱,数据顺序一致等问题)
有相关资料吗
http://blog.csdn.net/woshinia/article/details/8585930
2:网络模型的话 如果你的通信量很少的话 就用异步通信,或者完成例程,通信量大的话还是完成端口比较好点,我建议不管负载大小都用完成端口。源码的话你就搜索一下 网上到处都是的。原理什么的一两句说不清楚
3:多包发送的话 要处理分包连包的问题吧,这个你也得注意了。
4:数据同步这一块说简单也简单说难也难,这个问题,如果你的连接很少的话那都没有问题的,网上找些源码改一下就好了,但是数据量很大,连接非常多的话 那就有很多问题了。包括网络延迟,服务器负载都要考虑进去的。修改数据的话尽量在表里加个时间字段什么的标记,或者直接在表里面做个判断,不然 虽然多线程同步,但是有时候网络延迟包括cpu处理的速度,会让线程多次修改读取数据库的数据不一致,打个比方,a线程修改数据库,把命令数据投递到消息队列,然后线程结束 释放互斥对象,这个时候B线程得到互斥对象调用数据库里的数据,如果现在网络延迟或者CPU超负荷还没处理完A线程的命令,那么数据库里的数据还没有修改。与内存中的数据就不一致了。
5:我过年辞职回家了,现在在家带小孩 开个网店,帮忙点击一下啊 ,进去看看,卖面膜的,如有需要可以买个给老婆女朋友贴贴,http://item.taobao.com/item.htm?spm=a1z10.1.w7394523-7822789539.2.vxL44X&id=39896797127