109 lines
3.1 KiB
C
109 lines
3.1 KiB
C
|
#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;
|
|||
|
|
|||
|
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 );
|
|||
|
// 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_)
|