123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- ///************************************************************************/
- /* Copyright (C), 2016-2020, [IT], 保留所有权利;
- /* 模 块 名:;
- /* 描 述:;
- /*
- /* 版 本:[V];
- /* 作 者:[IT];
- /* 日 期:[2/23/2016];
- /*
- /*
- /* 注 意:;
- /*
- /* 修改记录:[IT];
- /* 修改日期:;
- /* 修改版本:;
- /* 修改内容:;
- /************************************************************************/
- #ifndef __CLIENT_PROCESS_20151021__
- #define __CLIENT_PROCESS_20151021__
- #pragma once
- #include <list>
- #include "SocketHandle.h"
- #include "Client2SrvType.h"
- typedef struct _MSG_INFO_
- {
- TString strMessage;
- TString strIPAddress;
- SOCKET nSocket;
- INT wMessageLen;
- DWORD dwUserId;
- BYTE *pData; // work9使用;
- _MSG_INFO_& operator=(const _MSG_INFO_& another)
- {
- if ( &another == this )
- {
- return *this;
- }
- strIPAddress = another.strIPAddress;
- strMessage = another.strMessage;
- nSocket = another.nSocket;
- wMessageLen = another.wMessageLen;
- dwUserId = another.dwUserId;
- pData = another.pData;
- return *this;
- }
- _MSG_INFO_()
- {
- strIPAddress = _T("");
- strMessage = _T("");
- nSocket = -1;
- wMessageLen = 0;
- dwUserId = 0;
- pData = NULL;
- }
- }MsgInfo, *pMsgInfo;
- class CClientProcess
- {
- CClientProcess(void);
- public:
- ~CClientProcess(void);
- static CClientProcess* GetInstance()
- {
- static CClientProcess* pInstance = NULL;
- if ( pInstance == NULL )
- {
- pInstance = new CClientProcess;
- }
- return pInstance;
- }
- static DWORD net_Send(IN CSocketHandle* pSH, IN void *pHeader, IN void *pMessage, IN unsigned long ulDataLen);
- void ClientProcess( IN const SOCKET sClient,
- IN const BYTE* pbData,
- IN DWORD dwCount,
- IN LPCTSTR lpaddr,
- IN BYTE** PendingBuf,
- IN UINT &nPendingSize,
- IN UINT &nCurSize);
- public:
- // case 6;
- static BOOL Work_No0(IN TString& strContent);
- static BOOL Work_No1();
- static BOOL Work_No2();
- static BOOL Work_No3();
- static BOOL Work_No4();
- static BOOL Work_No5();
- static BOOL Work_No6(IN TString& strContent, IN LPCTSTR lpIPAddress);
- static BOOL Work_No7(OUT TString& strBranchId);
- static BOOL Work_No8(IN TString& strContent, OUT INT& ArySize, OUT BYTE** pAryData, OUT DWORD& dwAryDataSize);
- static BOOL Work_No9(OUT TString& strContent, IN BYTE* pData, IN CONST INT &nMessageLen);
- static BOOL Work_No10(IN LPCTSTR lpIPAddress, IN TString& strContent);
- static BOOL Work_No11(IN TString& strContent);
- static BOOL Work_No12(IN TString& strContent);
- static BOOL Work_No13(IN TString& strContent);
- static BOOL Work_No14(IN TString& strContent);
- static BOOL Work_No15(IN TString& strContent);
- static BOOL Work_No16(IN LPCTSTR lpIPAddress, IN TString& strContent);
- static void WorkSendInfo(IN CONST SOCKET& nSock, IN CONST INT& wMessageLen, IN TString &strInfo, OUT INT& ArySize, OUT BYTE** pAryData, OUT DWORD& dwAryDataSize);
- public:
- static list<MsgInfo> m_listMsgInfo;
- // 保护连接池的临界区;
- static CRITICAL_SECTION m_csMsgInfo;
- // 从尾部插入一条信息;
- static void InsertMsgInfo(IN MsgInfo& msgInfo);
- // 从头部取出一条信息;
- static BOOL PopMsgInfo(IN MsgInfo& msgInfo);
- HANDLE m_hThread;
- HANDLE m_hEvent;
- static DWORD WINAPI MsgThread(LPVOID lpParam);
- HANDLE m_hThread2;
- HANDLE m_hEvent2;
- void StartMsgWork();
- void EndOfMsgWork();
- };
- #endif
|