forked from LosaDev/ls-2019-source
52 lines
1.0 KiB
C++
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;
|
|
}; |