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.

61 lines
1.5 KiB
C

2 years ago
#pragma once
#include "skt.h"
#include "sysapi.h"
#include <list>
using std::list;
class CVision
{
public:
CVision();
virtual ~CVision(void);
int Init(const char* pszip, ushort port);
int Deinit();
int getSocket() { return _socket; }
bool IsConn() { return SOCKET_CONNECTED == _status; }
void Connect(); //<2F>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD> -- <20><><EFBFBD>߳<EFBFBD>ִ<EFBFBD><D6B4>
void RecvMsg(char* s = NULL, int nsize = 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ -- <20><><EFBFBD>߳<EFBFBD>ִ<EFBFBD><D6B4>
int Process(); //<2F><><EFBFBD>մ<EFBFBD><D5B4><EFBFBD>,<2C>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30>ʶ<EFBFBD>ɹ<EFBFBD> <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
int Send(const char* s);
int WaitResult(char* s, int timeout); //<2F><><EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> һ<><D2BB><EFBFBD><EFBFBD><EFBFBD>ճɹ<D5B3><C9B9><EFBFBD>_szres<65><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
protected:
void setReply() { sys_SetEvent(_hReply); }
void resetReply() { sys_ResetEvent(_hReply); }
void waitReply() { sys_WaitForSingleObject(_hReply); }
void ClearMsg();
void RecvMsgB(char* s, int nsize); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
void Disconnect(); //<2F>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>
int SendMsg(const char *pszFormat, ...); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
int FindEnd(char* pszmsg); //<2F><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int ParseMsg(char* pszmsg); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
private:
Handle _hReply; //<2F><><EFBFBD>շ<EFBFBD><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Handle _hSection; //<2F>ٽ<EFBFBD><D9BD><EFBFBD>
int _status; //<2F><><EFBFBD><EFBFBD>״̬
int _socket; //socket<65><74><EFBFBD><EFBFBD>
int _skt; //skt<6B><74><EFBFBD><EFBFBD>
int _port; //<2F>ͻ<EFBFBD><CDBB>˶˿<CBB6>
int _len; //<2F><>ǰ<EFBFBD><C7B0>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
int _size; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
char* _msg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int _index; //<2F>״ν<D7B4><CEBD><EFBFBD>
int _ires; //<2F><><EFBFBD>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
list<char*> _lstmsg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};