Files
2022-10-26 12:25:11 +08:00

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;
};