www.pudn.com > WZ_UpdateModule_DLL.rar > NetClient.h
#pragma once #include#include #include #include #include "PacketStruct.h" #include "UpdateInfo.h" #ifndef DLL_EXPORTS #define WZ_DECLAREDLL _declspec (dllexport) #else #define WZ_DECLAREDLL _declspec (dllimport) #endif using namespace std; unsigned int __stdcall RecvThread(void* pParam); unsigned int __stdcall SendThread(void* pParam); #define MAX_BUFFER_SIZE 1024 class WZ_DECLAREDLL CNetClient { public: CNetClient(void); ~CNetClient(void); BOOL Init(); BOOL Connect(); BOOL DisConnect(); BOOL Run(); BOOL GetPacket( char* pData, int* pSize ); BOOL SendData( char* pData, int nSize ); 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 m_vecRecv; CUpdateInfo m_Info; //Recv Packet.... public: BOOL m_bReqPacket; DWORD m_dwKey; };