解决方案 »
- 应用程序设计什么情况下用到动态创建,new CEdit是不是?
- 怎么老是说申明不兼容
- VC 如何使用超过256色的位图?
- 查找INI文本的内容(或者查找文本内容添加到LISTBOX)
- 如何使整个窗体无效, 不是整个客户区,是整个窗体?
- 各位大哥,有<深入浅出MFC>简体中文版的请帮个忙
- MFC中调用含WCHAR字符串出错的问题.mbstowcs 和MultiByteWideChar转换时都是只转了第一个字符的问题.
- 创建的不同的Dialog之间进行切换的时候,Debug可以,但是Release却会死掉
- Date Time Picker全球化问题
- 哇~~~~~~~~~~~完蛋了,我的专家分~~~~~~~~
- 帮我看个数据结构的程序(散列表的)
- com/active可以使用mfc对话框啊???//与atl对话框有什么区别???
Client连接DATAServer 上的两个端口,这两个端口分别接受命令和发送数据。Client接到CMDServer 发送过来的数据后,经过处理将命令转发给DATAServer。
DATAServer接受到命令处理,再给Client发送数据。Client接收到数据后存盘。
-------------------------------------
你的代码没有看,太长,而且又是用CSocket写的...
你的CLient开三个线程,其中二个线程对应CMDServer,一个接受命令一个用来发送数据,估计这个地方会涉及到同步的问题,同步的方法很多,什么临界区,事件对象啊都可以,这里就不说了。
第三个线程用来接受DATAServer发送过来的数据,这个应该和前面两个线程没有什么关系,应该不需要同步。这里你循环recv接收数据就可以,先接收数据字节数,然后接收后续的数据即可。
1. 在while(TRUE)的循环中加Sleep(1),释放CPU的控制权
2. 将缓冲区改为BYTE类型, 相应的指针也改为BYTE*类型
3. 要处理通讯过程中的断开情况
2,大量数据的话,可以考虑用多线程传输数据,每个线程传输一段,然后客户端再整合数据,这样传输的会快些。