Files
2026-11-07 13:30:45 +07:00

52 lines
1.0 KiB
C++

// cClientSocket.h: interface for the cClientSocket class.
//
//////////////////////////////////////////////////////////////////////
#pragma once
#include "cBaseThread.h"
class cClientSocket : public cBaseThread
{
public:
cClientSocket();
virtual ~cClientSocket();
void Init();
void Destroy();
public:
BOOL Startup();
void Cleanup();
void CloseSocket();
public:
SOCKET GetSocketHandle() { return m_socket; }
void SetSocketHandle( SOCKET socket ) { m_socket = socket; }
BOOL SetSocketOption();
public:
BOOL Create();
BOOL Connect( const TCHAR *IP = NULL, const uint16 port = 0 );
BOOL Reconnect();
public:
BOOL Send( const uint8 *buffer, const uint32 length );
BOOL Receive( uint8* buffer, uint32& length );
protected:
virtual void OnConnected() {}
virtual void OnDisconnected() {}
virtual void OnReceived( uint8* buffer, const uint32 length ) {}
protected:
virtual void Process();
protected:
SOCKADDR_IN m_sockAddr;
BOOL m_connected;
SOCKET m_socket;
};