raSystem  1.0 bata
raServer.h
Go to the documentation of this file.
1 #pragma once
2 
3  class RAPI raServerSocket : public raSocket
4  {
5  public:
6  raServerSocket(void);
7 
8  void bind(int Port);
9  void listen(void);
10  void Stop(void);
11 
12  raSocket* accept(void);
13  };
14 
15  class RAPI raServer
16  {
17  public:
18  raServer(void);
19  ~raServer(void);
20 
21  void Setup(int Port = 28015, int MaxClients = 10);
22  int Loop(void);
23  void Stop(void);
24 
25  raServerSocket GetServerSocket() { return m_ListenSocket; }
26  int GetMaxClients() { return m_MaxClients; }
27  raSocket* GetClientSocket(int index) { return m_ClientSockets[index]; }
28 
29  bool SetNewClient(raSocket* Client, int index);
30  protected:
31  raServer(const GUID& raguid);
32 
33  protected:
34  virtual bool OnSetup(int Port, int MaxClients) { return true; };
35  virtual bool OnClientConnect(raSocket* newClient) { return true; };
36  virtual bool OnClientDisconnect(raSocket* Client, int ClientNum) { return true; };
37  virtual int OnRun( raString Buffer, int Size, int FromClient) { return 1; };
38  private:
39  raServerSocket m_ListenSocket;
40  int m_MaxClients;
41  raSocket **m_ClientSockets;
42  };
int GetMaxClients()
Definition: raServer.h:26
virtual bool OnClientConnect(raSocket *newClient)
Definition: raServer.h:35
virtual bool OnClientDisconnect(raSocket *Client, int ClientNum)
Definition: raServer.h:36
virtual int OnRun(raString Buffer, int Size, int FromClient)
Definition: raServer.h:37
#define RAPI
Definition: raMain.h:11
raServerSocket GetServerSocket()
Definition: raServer.h:25
virtual bool OnSetup(int Port, int MaxClients)
Definition: raServer.h:34
std::string raString
Definition: raMain.h:107
raSocket * GetClientSocket(int index)
Definition: raServer.h:27