You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
2.8 KiB
C

#pragma once
#define ACTION_OPENFILE (CString)"OPEN_FILE;"//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
#define ACTION_TANSPRODUCTINFO (CString)"TRANS_PRODUCT;" //<2F><>Product
4 years ago
#define ACTION_COLLECT (CString)"COLLECT_DATA;" //<2F>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>
#define ACTION_STARTWORK (CString)"START_WORK;" //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4 years ago
#define ACTION_PAUSEWORK (CString)"PAUSE_WORK;" //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ACTION_RESUMEWORK (CString)"RESUME_WORK;" //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ACTION_EXITWORK (CString)"EXIT_WORK;" //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//#define ACTION_TRANSFILE (CString)"TRANS_FILE;"//<2F><><EFBFBD>ļ<EFBFBD>
#define ACTION_SETSPECAILOBJ (CString)"SET_SPECAILOBJ;"//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ACTION_BMARKSELOBJMODE (CString)"MARK_SELOBJMODE;"//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ӹ<EFBFBD>ģʽ
#define ACTION_SELECTOBJ (CString)"SELECT_OBJ;"//ѡ<><D1A1>OBJ
#define TRACK_1 (CString)"TRACK1;"
#define TRACK_2 (CString)"TRACK2;"
#define NetData_MaxLen 1024*1024
enum CurRcvDataType//<2F><>ǰҪ<C7B0><D2AA><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
DataType_String = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
DataType_DXF, //<2F><><EFBFBD><EFBFBD>DXF<58>ļ<EFBFBD>
DataType_MAK, //<2F><><EFBFBD><EFBFBD>MAK<41>ļ<EFBFBD>
DataType_PAR, //<2F><><EFBFBD><EFBFBD>MAK<41>ļ<EFBFBD>
DataType_CPRODUCT//<2F><><EFBFBD><EFBFBD>Product<63><74><EFBFBD><EFBFBD>
};
class CNetData
{
public:
CNetData ();
~CNetData ();
CurRcvDataType m_dataType;
bool SetData(CurRcvDataType DataType, int datalen, void* data);
char* m_Realdata;
int m_dataLen;
};
CNetData ::CNetData ()
{
m_Realdata = new char[NetData_MaxLen];
memset(m_Realdata, 0, NetData_MaxLen);
}
bool CNetData::SetData(CurRcvDataType DataType, int datalen,void* data)
{
m_dataType = DataType;
if (datalen>NetData_MaxLen)
{
return false;
}
memcpy(m_Realdata, data, datalen);
return true;
}
CNetData ::~CNetData ()
{
if (m_Realdata!=NULL)
{
delete[]m_Realdata;
m_Realdata = NULL;
}
}
// CServerMgr <20><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>
#include "DlgSW_XL_Flow.h"
#include "Product.h"
#include <vector>
4 years ago
#include <thread>
using namespace std;
class CServerMgr : public CSocket
{
public:
CServerMgr();
virtual ~CServerMgr();
bool StartServer(int ListenPort = 2404);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool StopServer();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetDlg(CDlgSW_XL_Flow * pdlg) { m_Dlg = pdlg; };
void BroadCast(CString msg);//<2F>㲥,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>Ϣ
CString m_RcvFileName=NULL; //<2F><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
CProduct m_RcvProduct; //<2F><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>CProduct<63><74><EFBFBD><EFBFBD>
int m_RcvAreaIndex; //<2F><><EFBFBD>յ<EFBFBD><D5B5>ĵ<EFBFBD>ǰ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
int m_RcvCurTrackIndex; //<2F><><EFBFBD>յ<EFBFBD><D5B5>ĵ<EFBFBD>ǰ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
5 years ago
int m_curAreaDataCnt = 0; //<2F><>ǰ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
static vector<CServerMgr*> ServerVec;//<2F><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private:
virtual void OnAccept(int nErrorCode);
virtual void OnClose(int nErrorCode);
virtual void OnReceive(int nErrorCode);
static void DeleteClientObject(CServerMgr* pConn);
CurRcvDataType m_CurRcvDataType = DataType_String;//<2F><>ǰҪ<C7B0><D2AA><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CDlgSW_XL_Flow * m_Dlg;
4 years ago
thread m_workThread;
void StartMarkArea();
void PauseMark();
void ResumeMark();
void ExitMark();
};
extern CServerMgr * gServer;