关于c++线程间通信,c语言线程间通信这个很多人还不知道,今天源源来为大家解答以上的问题,现在让我们一起来看看吧!

c++线程间通信 c语言线程间通信c++线程间通信 c语言线程间通信


c++线程间通信 c语言线程间通信


1、fReadStat = ReadFile( hCom, lpBuffer,dwLength, &dwBytesRead,&READ_OS( npTTYInfo ) ); //读数据如果你不想继承的话,建议你直接使用Socket API。

2、上述的COMMTIMEOUTS结构和DCB都很重要,实际工作中需要仔细选择参数。

3、使用函数int WSAAsyncSelect(__in HWND hWnd,__in unsigned int wMsg,__in long lEvent);将socket和窗口句柄绑定起来,lEvent里选择FD_READ、FD_WRITE、FD_ACCEPT、FD_CONNECT和FD_CLOSE等等你所希望处理的。

4、这样当发生是,系统会向你的窗口发送WM_SOCKET消息。

5、你可以重载WinProc函数来检查WM_SOCKET消息。

6、具体可以参考《WINDOWS网络编程技术》第8章windwos下是现成的,你需要做的就是两头,数据组织和加工- -!楼主是初学者吧?建议你去看看孙鑫的视频教程 然后我相信你就不会问这个问题了MFC下面的两个SOCKET是基于SOCKET的异步选择模型,该模型通过WINDOWS的消息机制完成的通知机制,该模型需要你提供一个窗体来完成对注册的网络似的工作,需要做的是通过继承并重写CAsynSocket提供的虚函数(如virtual void OnAccept( int nErrorCode )), 从而接收来自网络的消息。

7、综上所述、关于问题:,可以在单线程中作CAsynSocket, CSocket. 但是不继承这两个类是不行的,因为这两个提供的的接口就是他自己本身的虚函数,也就是说他们即是实现类,也是接口类。

8、A中需要家一个类继承CSocket 响应virtual void OnAccept( intnErrorCode ); 在里面调用Accept()。

9、第二,同上、不需要单开辟线程,但是需要一个继承类,至少要响应CAsyncSocket::OnReceive 才能知道什么时候会有网络数据来。

10、第三,CAsynSocket只是作异步化了,响应方式没有变化,因为CSocket就是从CAsynSocket继承来的。

11、第四,SOCKET通信,你需要做的就是了解I/O的模型,然后组织自己的应用协议,管理内存。

12、CSocket提供了阻塞调用,但不是最关键的,关键是他提供了基于序列对象的功能。

13、如果还有疑问, 可以再联系我。

14、 我一直在做网络程序的开发。

15、如果你希来学习下 以后也是这方面的工人了。

本文到这结束,希望上面文章对大家有所帮助。