SmsManager/processsocket.h

112 lines
3.3 KiB
C
Raw Normal View History

2025-01-14 10:46:18 +08:00
#if !defined(AFX_PROCESSSOCKET_H__DA328461_864B_4C42_9F2C_024819E95360__INCLUDED_)
#define AFX_PROCESSSOCKET_H__DA328461_864B_4C42_9F2C_024819E95360__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// processsocket.h : header file
//
#include "..\public\ProxySocket\AsyncProxySocket.h"
#ifdef _M_X64
#include "..\public\lzo_64\lzo.h"
#else
#include "..\public\lzo\lzo.h"
#endif
/////////////////////////////////////////////////////////////////////////////
// CProcessSocket command target
#define PROCESSSOCKET_ERROR WM_USER + 200 //socket<65>Ĵ<EFBFBD><C4B4><EFBFBD>֪ͨ
#define PROCESSSOCKET_FRAME WM_USER + 201 //socket<65>յ<EFBFBD>֡<EFBFBD><D6A1>֪ͨ
#define PROCESSSOCKET_ERROR_CONNECT 1 //socket<65><74><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>
#define PROCESSSOCKET_ERROR_PROXY 2 //socket<65><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef CTypedPtrList<CPtrList, Socket_Head*> CFrameList;
class CProcessSocket : public CAsyncProxySocket
{
protected:
SM_Setup m_Setup;
CWnd * m_pWnd; //֪ͨ<CDA8><D6AA>Ϣ<EFBFBD><CFA2>Wnd
BOOL m_bSend; //<2F>Ƿ<EFBFBD><C7B7>ѿ<EFBFBD><D1BF>Ե<EFBFBD>¼
BOOL m_bConnect;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CLzo lzo;
CFrameList m_Frame;
ULONG m_lID;
long m_lUserID;
unsigned char m_ucUserType;
unsigned long m_ulVer;
Socket_Head m_RecvHead; //<2F><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>Head
ULONG m_lRecvHead; //<2F><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Head<61>ֽ<EFBFBD><D6BD><EFBFBD>
BOOL m_bRecvFrame; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Frame;
ULONG m_lRecvFrame; //<2F><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Frame<6D>ֽ<EFBFBD><D6BD><EFBFBD>
BYTE * m_pRecvFrame; //<2F>յ<EFBFBD><D5B5><EFBFBD>Frame
//<2F><>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>
HINTERNET m_hInternet;
HINTERNET m_hConnection;
int m_lCompress;
HANDLE m_hHttp;
// Attributes
public:
// Operations
public:
CProcessSocket();
virtual ~CProcessSocket();
// Overrides
public:
void SetCompressType(int lCompressType);
static int CharHex(TCHAR ch);
static void HexToAscii( char *pszOrgRandom , char *pszDesRandom );
static void AsciiToHex( char *pszOrgRandom , char *pszDesRandom , long lLen);
static DWORD WINAPI Http_Socket( LPVOID lParam );
void SetUserID(long lUserID);
void NotifyMainWnd( UINT nMsg , WPARAM wParam , LPARAM lParam );
BOOL SendFrame( unsigned char lFuncType , unsigned char * pFrame , unsigned long lFrameLen );
BOOL SendFrameEx( DWORD lFuncType , unsigned char * pFrame , unsigned long lFrameLen );
void Close();
BOOL ConnectToServer( SM_Setup setup,BOOL bReConnect=false);
void SetParent( CWnd * pWnd );
void SetUserType(unsigned char ucUserType);
void SetVer(unsigned long ulVer);
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CProcessSocket)
public:
virtual void OnConnect(int nErrorCode);
virtual void OnSend(int nErrorCode);
virtual void OnClose(int nErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnProxyOperationFailed(int nOpID);
virtual void OnListenFinished(unsigned long &retProxyIp,int &retProxyPort);
virtual int Send(const void* lpBuf, int nBufLen, int nFlags = 0);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CProcessSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PROCESSSOCKET_H__DA328461_864B_4C42_9F2C_024819E95360__INCLUDED_)