www.pudn.com > chat-dialog.rar > SeverSocket.cpp
// SeverSocket.cpp : implementation file
//
#include "stdafx.h"
#include "Sever1_2.h"
#include "SeverSocket.h"
#include "socketMsg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSeverSocket
CSeverSocket::CSeverSocket()
{
}
CSeverSocket::~CSeverSocket()
{
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CSeverSocket, CSocket)
//{{AFX_MSG_MAP(CSeverSocket)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
/////////////////////////////////////////////////////////////////////////////
// CSeverSocket member functions
void CSeverSocket::OnReceive(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
char chRec[1024];
int nRecLen=1024;
int nLen=CSocket::Receive(chRec,nRecLen,0);
//12:29这里有问题,解决了m_pParentWnd没有与设备相连
// CString strRec(chRec,nLen);
CString sDlg(chRec);
CSocketMsg* sockMsg=new CSocketMsg;
sockMsg->FormatSocketMsg(sDlg);
switch(sockMsg->SystemMsg) {
case SM_SENDMESSAGE:
m_pParentWnd->SendMessage(WM_UPDLGDATA,(WPARAM)chRec,(LPARAM)nLen);
break;
case SM_CONNECTSEVER:
m_pParentWnd->SendMessage(WM_SETNEWCLIENT,(WPARAM)m_hSocket);
m_pParentWnd->SendMessage(WM_SETNEWSOCKET,(WPARAM)chRec,(LPARAM)nLen);
break;
case SM_CLOSECLIENT:
m_pParentWnd->SendMessage(WM_CLOSESOCK,(WPARAM)m_hSocket);
m_pParentWnd->SendMessage(WM_CLOSECLIENT,(WPARAM)chRec,(LPARAM)nLen);
break;
case SM_ALLARM:
m_pParentWnd->SendMessage(WM_UPDLGDATA,(WPARAM)chRec,(LPARAM)nLen);
break;
default:
break;
}
delete sockMsg;
CSocket::OnReceive(nErrorCode);
}