00001 #ifndef __NETCLIENT_H__ 00002 #define __NETCLIENT_H__ 00003 00004 #include "Common/Types.h" 00005 #include "Network/UDPClientSocket.h" 00006 00007 //--------------------------------------------------------------------------------------------------------------------- 00008 class KNetClient : public KUDPClientSocket 00009 { 00010 protected: 00011 KTIME m_LastStatsTime; 00012 bool m_bShowStats; 00013 KSocket m_LobbySocket; 00014 KInetAddr m_LobbyAddr; 00015 KInetAddr* m_pLocalAddr; 00016 u32 m_nLocalAddr; 00017 u16 m_LobbyRequestId; 00018 00019 static void CommandGetServersList( KStr Argument, void* pContext ); 00020 00021 void ReadServerInfo( KNetMsg& Msg ); 00022 00023 public: 00024 KNetClient(); 00025 00026 bool Init(); 00027 bool End(); 00028 00029 virtual void OnConnect( KInetAddr& Addr ); 00030 virtual void OnDisconnect( KInetAddr& Addr ); 00031 virtual void OnMessage( KInetAddr& Addr, KNetMsg& Msg ); 00032 virtual void OnUCMessage( KInetAddr& Addr, char* pBuffer, u32 Size ); 00033 virtual bool Manage(); 00034 00035 virtual bool Connect( KStr sHostName, u16 Port ); 00036 virtual bool Disconnect(); 00037 00038 void SetShowStats( bool bShow ) { m_bShowStats = bShow; } 00039 bool IsShowStats() { return m_bShowStats; } 00040 00041 bool RequestServersList(); 00042 bool ManageLobbySocket(); 00043 }; 00044 00045 #endif __NETCLIENT_H__
1.5.1-p1