📄 tcpdata.cpp
字号:
// TcpData.cpp : implementation file
//
#include "stdafx.h"
#include "Demo3.h"
#include "Demo3Doc.h"
#include "TcpData.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTcpSocket
IMPLEMENT_DYNAMIC(CTcpSocket, CSocket)
CTcpSocket::CTcpSocket(CDemo3Doc* doc)
{
m_pDoc = doc;
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CTcpSocket, CSocket)
//{{AFX_MSG_MAP(CTcpSocket)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
/////////////////////////////////////////////////////////////////////////////
// CTcpSocket member functions
void CTcpSocket::OnReceive(int nErrorCode)
{
CSocket::OnReceive(nErrorCode);
// TODO: Add your specialized code here and/or call the base class
char lpBuf[MAXMESSAGELENGTH];
int i;
i = Receive(lpBuf, MAXMESSAGELENGTH);
m_pDoc->ProcessPendingRead(lpBuf, i);
switch(*(short*)lpBuf)
{
case 0x20:
{
REQUESTRESEND_20H* r = (REQUESTRESEND_20H*)lpBuf;
ANSWERRESEND_21H a;
a.bh = 0x21;
a.Answer = r->Request;
a.corp = 1 << m_pDoc->m_nSelected;
Send((void*)&a, sizeof(a));
}
break;
case 0x21:
m_pDoc->CloseSocket(this);
break;
default:
break;
}
}
void CTcpSocket::OnClose(int nErrorCode)
{
CSocket::OnClose(nErrorCode);
// TODO: Add your specialized code here and/or call the base class
m_pDoc->CloseSocket(this);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -