57 lines
1.2 KiB
C++
57 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <winsock2.h>
|
|
#include <process.h>
|
|
#include <vector>
|
|
#include <string>
|
|
#include "define.h"
|
|
#include "PacketStruct.h"
|
|
|
|
using namespace std;
|
|
|
|
unsigned int __stdcall RecvThread(void* pParam);
|
|
unsigned int __stdcall SendThread(void* pParam);
|
|
|
|
#define MAX_BUFFER_SIZE 1024
|
|
|
|
class DLL_DECLARE CNetClient
|
|
{
|
|
public:
|
|
CNetClient(void);
|
|
~CNetClient(void);
|
|
|
|
BOOL Init( DWORD& dwErrorCode );
|
|
BOOL Connect( TCHAR* pszIP, WORD wPort, DWORD& dwErrorCode );
|
|
BOOL DisConnect();
|
|
BOOL Run();
|
|
BOOL GetPacket( char* pData, int* pSize );
|
|
int SendData( char* pData, int nSize, int& nErrorCode );
|
|
void Close();
|
|
|
|
//Buffer°ü·Ã ÇÔ¼ö
|
|
protected:
|
|
BOOL AddRecvBuf( char* pBuf, int nSize );
|
|
BOOL AddSendBuf( char* pBuf, int nSize );
|
|
|
|
friend unsigned int __stdcall RecvThread(void* pParam);
|
|
// friend unsigned int __stdcall SendThread(void* pParam);
|
|
|
|
private:
|
|
WSADATA m_wsaData;
|
|
SOCKET m_hSocket;
|
|
HANDLE m_hRecvThread;
|
|
HANDLE m_hSendThread;
|
|
char m_RecvBuf[MAX_BUFFER_SIZE];
|
|
char m_SendBuf[MAX_BUFFER_SIZE];
|
|
BOOL m_bRunThread;
|
|
SOCKADDR_IN m_servAddr;
|
|
|
|
CRITICAL_SECTION m_cs;
|
|
vector<string> m_vecRecv;
|
|
|
|
//Recv Packet....
|
|
public:
|
|
BOOL m_bReqPacket;
|
|
DWORD m_dwKey;
|
|
};
|