📄 clientsock.cpp
字号:
// ClientSock.cpp : implementation file
//
#include "stdafx.h"
#include "Talk.h"
#include "ClientSock.h"
#include "TalkDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClientSock
CClientSock::CClientSock()
{
m_nLength = 0;
memset (m_szBuffer, 0, sizeof(m_szBuffer));
m_bConnected = FALSE;
}
CClientSock::~CClientSock()
{
if (m_hSocket != INVALID_SOCKET)
Close();
}
void CClientSock::OnConnect(int nErrorCode)
{
if (nErrorCode == 0)
{
m_bConnected = TRUE;
CWinApp * pApp = (CWinApp *) AfxGetApp();
CTalkDlg * pDlg = (CTalkDlg *) pApp->m_pMainWnd;
memcpy (m_szBuffer, "Connected to", 13);
strncat (m_szBuffer, pDlg->m_szServerAdr, sizeof(pDlg->m_szServerAdr));
pDlg->m_MSG.InsertString(0, m_szBuffer);
AsyncSelect (FD_READ);
}
CAsyncSocket::OnConnect(nErrorCode);
}
void CClientSock::OnReceive(int nErrorCode)
{
m_nLength = Receive (m_szBuffer, sizeof(m_szBuffer), 0);
CWinApp * pApp = (CWinApp *) AfxGetApp();
CTalkDlg * pDlg = (CTalkDlg *) pApp->m_pMainWnd;
pDlg->m_MSG.InsertString(-1, m_szBuffer);
memset (m_szBuffer, '\0', sizeof(m_szBuffer));
CAsyncSocket::OnReceive(nErrorCode);
}
void CClientSock::OnSend ( int nErrorCode)
{
CWinApp * pApp = (CWinApp *) AfxGetApp();
CTalkDlg * pDlg = (CTalkDlg *) pApp->m_pMainWnd;
m_nLength = pDlg->m_Message.GetWindowText( m_szBuffer, 256);
pDlg->m_Message.SetWindowText("");
m_nLength = sizeof(m_szBuffer);
Send(m_szBuffer, m_nLength, 0);
m_nLength = 0;
memset(m_szBuffer, 0, sizeof(m_szBuffer));
AsyncSelect(FD_READ);
CAsyncSocket::OnSend(nErrorCode);
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CClientSock, CAsyncSocket)
//{{AFX_MSG_MAP(CClientSock)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
/////////////////////////////////////////////////////////////////////////////
// CClientSock member functions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -