D:/Zythum/DinoKod/Client/NetClient.h

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__

Generated on Sun Mar 25 20:02:10 2007 for Zythum Project by  doxygen 1.5.1-p1