|
|
|
|
/*--- <20><><EFBFBD><EFBFBD>2Dcode ͨ<><CDA8>Э<EFBFBD><D0AD> <20>Ĺ<EFBFBD><C4B9><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>---
|
|
|
|
|
ͨѶʹ<EFBFBD><EFBFBD>TCP
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD>˿ڣ<EFBFBD> 8687
|
|
|
|
|
<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #
|
|
|
|
|
<EFBFBD>ֶμ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ݷָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;
|
|
|
|
|
ָ<EFBFBD><EFBFBD>֧<EFBFBD>֣<EFBFBD>
|
|
|
|
|
1. GetStatus# <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻظ<EFBFBD>1
|
|
|
|
|
2. GetCode_1-1# <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
3. GetAllCode# <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD>쳣<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>-1#
|
|
|
|
|
|
|
|
|
|
*PS: ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*PS: <EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʶ<EFBFBD>ɹ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
#ifndef _CMM_MAPPING_H
|
|
|
|
|
#define _CMM_MAPPING_H
|
|
|
|
|
#include "sysapi.h"
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using std::vector;
|
|
|
|
|
|
|
|
|
|
enum MapStatus
|
|
|
|
|
{//<2F><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
Map_NoInit = 0, //δ<><CEB4>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>socketʧ<74><CAA7>
|
|
|
|
|
Map_Connected, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Map_Disconnect, //<2F>ͻ<EFBFBD><CDBB><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct TMappingData
|
|
|
|
|
{//2d code<64><65><EFBFBD><EFBFBD>
|
|
|
|
|
int col;
|
|
|
|
|
int row;
|
|
|
|
|
int len; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
char* pszdata;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//CMapping
|
|
|
|
|
class CManage;
|
|
|
|
|
class CMapping
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CMapping();
|
|
|
|
|
virtual ~CMapping();
|
|
|
|
|
|
|
|
|
|
int GetStatus() { return _status; }
|
|
|
|
|
|
|
|
|
|
int Init(const char* pszserver = NULL); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD>NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50><EFBFBD>Զ<EFBFBD><D4B6>˿<F3B6A8B6>8687
|
|
|
|
|
int Deinit(); //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
|
|
|
|
int Clear(); //<2F><><EFBFBD>յ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int ReplaceSending(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滻<EFBFBD><E6BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滻<EFBFBD><E6BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ʽ<EFBFBD><CABD>2,5,1,ZD1912031456,1
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷָ<DDB7><D6B8><EFBFBD>, pszdata<74><61><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>NULL
|
|
|
|
|
int SetData(int row, int col, const char* pszdata);
|
|
|
|
|
int AnalysisRegister(char* buff);
|
|
|
|
|
int AnslyStatus(char* buff);
|
|
|
|
|
int AnslysisStart(char* buff);
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
void StartRun(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ
|
|
|
|
|
void StopRun();
|
|
|
|
|
void Close(); //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void ChkStatus(); //<2F><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
void RecvMsg();
|
|
|
|
|
void SendMsg(const char* psz); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
void ParseMsg(const char* psz, int len); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>NULLָ<4C>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>new<65>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
void GetAllSendData(char* &psz);
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>NULLָ<4C>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>new<65>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
void GetSendData(int col, int row, char* &psz);
|
|
|
|
|
|
|
|
|
|
void Release(vector<TMappingData>& vec); //<2F>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
int FindEnd(const char* pszmsg); //<2F><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F>̺߳<DFB3><CCBA><EFBFBD>
|
|
|
|
|
int Process();
|
|
|
|
|
static int WINAPI ThreadFun(void* param);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
int _skt; //socket<65><74><EFBFBD><EFBFBD>
|
|
|
|
|
int _status; //<2F><>ǰ״̬
|
|
|
|
|
|
|
|
|
|
bool _brun; //<2F>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>б<EFBFBD>ʶ
|
|
|
|
|
Handle _hThread; //<2F>߳̾<DFB3><CCBE><EFBFBD>
|
|
|
|
|
Handle _hSection; //<2F>ٽ<EFBFBD><D9BD><EFBFBD>
|
|
|
|
|
Handle _hSecSend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
int _len; //<2F><>ǰ<EFBFBD><C7B0>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
char _msg[MAX_BUF_LEN]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
char _client[MAX_NAME_LEN]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD>IP<49><50>ַ
|
|
|
|
|
ushort _port;
|
|
|
|
|
|
|
|
|
|
vector<TMappingData> _vecSend; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
vector<TMappingData> _vecSet; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|