#ifndef __NETSOCK_H__ #define __NETSOCK_H__ #ifndef __NETUTILS_H__ #include "NetUtils.h" #endif class TConnection; class TSocketServer : public TLanServer { BYTE* m_pData; DWORD m_dwSize; protected: // TLanManager virtual BOOL Boot(); virtual BOOL ShutDown(); virtual BOOL OnRemoveConnection(DWORD id); public: BYTE* GetBuffer(DWORD dwSize); const BYTE* GetData() const { return m_pData; } BOOL OnConnect(const CString& topic); void OnConnectConfirm(DWORD id); public: virtual BOOL IsOk() const; TSocketServer(const char* name); virtual ~TSocketServer(); }; class TSocketClient : public TLanClient { BYTE* m_pData; DWORD m_dwSize; protected: // TLanManager virtual BOOL Boot(); virtual BOOL ShutDown(); virtual OnRemoveConnection(DWORD id); protected: // TLanClient virtual TConnection* OnQueryConnection(const char* service, const char* server); public: virtual BOOL Execute(DWORD id, const char* cmd); virtual BOOL Request(DWORD id, const char* cmd); virtual BYTE* GetBuffer(DWORD& dwSize); virtual void ReleaseBuffer(); virtual BOOL IsOk() const { return TRUE; } BOOL WriteLine(DWORD id, const char* str); BOOL ReadLine(DWORD id, TString& str); BOOL HttpGetFile(const char* remote, const char* local); BOOL HttpGetDir(const char* remote, TString_array& list); TSocketClient(); virtual ~TSocketClient(); }; #endif