www.pudn.com > CHA05.rar > CONNECTS.CPP


///////////////////////////////////////////////////////////////////////////// 
//	Author				:	Bala Murali 
//	ConnectS.cpp		:	implementation file 
//	Creation Date		:	03/09/2000 
//	Version				:	Initial Release 
///////////////////////////////////////////////////////////////////////////// 
 
 
 
#include "stdafx.h" 
#include "XSockClient.h" 
#include "ConnectS.h" 
#include "XSockClientCtl.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
 
extern CXSockClientCtrl* m_pControl; 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CConnectS 
 
CConnectS::CConnectS() 
{ 
} 
 
CConnectS::~CConnectS() 
{ 
} 
 
 
// Do not edit the following lines, which are needed by ClassWizard. 
#if 0 
BEGIN_MESSAGE_MAP(CConnectS, CAsyncSocket) 
	//{{AFX_MSG_MAP(CConnectS) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
#endif	// 0 
 
///////////////////////////////////////////////////////////////////////////// 
// CConnectS member functions 
 
void CConnectS::OnClose(int nErrorCode)  
{ 
	m_pControl->m_bConnect = FALSE; 
	m_pControl->m_ConnectS.Close(); 
	m_pControl->FireOnClose(); 
} 
 
void CConnectS::OnConnect(int nErrorCode)  
{ 
	if ( 0 != nErrorCode ) 
	{ 
		m_pControl->m_bConnect = FALSE; 
		m_pControl->SocketError(nErrorCode); 
		return; 
	} 
 
	m_pControl->FireOnConnect(); 
} 
 
void CConnectS::OnReceive(int nErrorCode)  
{ 
	int iByteLen = Receive((void*)m_pControl->m_lpBuff,m_pControl->m_nBuffLen); 
 
	if ( m_pControl->m_bNullTerminate ) 
		m_pControl->m_lpBuff[iByteLen++] = NULL; 
 
	m_pControl->FireOnReceive(m_pControl->m_lpBuff,iByteLen); 
} 
 
void CConnectS::OnSend(int nErrorCode)  
{ 
	m_pControl->FireOnSend(); 
}