📄 testsocket.h
字号:
#if !defined(AFX_TESTSOCKET_H__517E2820_6634_4727_885C_7BFDAEC43DC5__INCLUDED_)
#define AFX_TESTSOCKET_H__517E2820_6634_4727_885C_7BFDAEC43DC5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// TestSocket.h : header file
//
#include "Toolsfun.h"
class CTestSocketACtrl;
/////////////////////////////////////////////////////////////////////////////
// CTestSocket command target
class CTestSocket : public CAsyncSocket
{
public:
typedef CTypedPtrList<CPtrList,TsData*>Q_SendData;
// Attributes
public:
// Operations
public:
CTestSocket(CTestSocketACtrl* pTSC);
virtual ~CTestSocket();
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CTestSocket)
public:
virtual void OnConnect(int nErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnAccept(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CTestSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
public:
BOOL IsCmdQueEmpty();
BOOL AddNetData(TsData* pSData);
BOOL BeginThread();
BOOL EndThread();
int SendNetData(TsData* pSData);
private:
static UINT ThreadFunc(LPVOID lpParam);
BOOL GetHeadSendData(TsData *pSData);
public:
BOOL m_bThreadAlive;
CWinThread* m_WinThread;
public:
BOOL m_bConnect;
HANDLE m_hDataEvent;
HANDLE m_hClose;
private:
Q_SendData m_qSendData;
CMutex m_muSendData;
BOOL m_bWaitting;
BYTE m_aOutBuff[2048];
BYTE m_aInBuff[2048];
public:
CTestSocketACtrl *m_pTSC;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TESTSOCKET_H__517E2820_6634_4727_885C_7BFDAEC43DC5__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -