CAsyncSocket 中的虚函数
CAsyncSocket 是微软在MFC中将复杂的WinSock API函数集成封装的一个用于通讯的类,这种类的形式使得编写网络应用程序更容易。CSocket 是继承CAsyncSocket 的更高集成度的类。类中提供了几个用户可以自主操作的虚函数,合理地使用可以简化程序的难度。
CSocket 类中的虚函数的用法:
-
virtual void OnAccept( int nErrorCode );
MSDN中的描述:Notifies a listening socket that it can accept pending connection requests by calling Accept.
提醒监听套接字可以接受正在等待连接的客户端套接字的请求,通过Accept函数。从描述中,该函数是在服务器收到客户端的连接请求后自动响应的函数,即当客户端Socket调用函数Connect向监听Socket发送连接请求,监听Socket会执行该函数。
该函数避免了在程序服务器必须一直监听是否有连接请求,是CSocket类中自动使用多线程技术,简化了许多步骤。
一般在该函数中调用CSocket 类中的Accept方法,生成一个Socket对象用于与对应的客户端进行通讯,还可以将该Socket保存供外部函数调用。 -
virtual void OnClose( int nErrorCode );
MSDN中的描述:Notifies a socket that the socket connected to it has closed.
提醒Socket与之相连的Socket已经关闭,在调用Close方法后,对应的Socket会执行该函数。 -
virtual void OnCon