Clone of PhatAC @ https://github.com/floaterxk/PhatAC

Network.h 870B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. class CNetwork
  3. {
  4. public:
  5. CNetwork(SOCKET *sockets, int socketCount);
  6. ~CNetwork();
  7. void Think();
  8. void ThinkSocket(SOCKET socket);
  9. CClient *GetClient(WORD index);
  10. WORD GetServerID();
  11. void KickClient(class CClient* pClient);
  12. void KickClient(WORD index);
  13. void KillClient(WORD index);
  14. void SendPacket(SOCKADDR_IN *, void *data, DWORD len);
  15. void SendConnectlessBlob(SOCKADDR_IN *, BlobPacket_s *, DWORD dwFlags, DWORD dwSequence, WORD wTime);
  16. private:
  17. BOOL IsBannedIP(in_addr);
  18. WORD GetClientSlot();
  19. CClient *ValidateClient(WORD, sockaddr_in *);
  20. CClient *FindClientByAccount(const char *);
  21. void ConnectionRequest(sockaddr_in *addr, BlobPacket_s *p);
  22. void ProcessConnectionless(sockaddr_in *, BlobPacket_s *);
  23. SOCKET *m_sockets;
  24. int m_socketCount;
  25. WORD m_wID;
  26. WORD m_freeslot;
  27. WORD m_slotrange;
  28. CClient* m_clients[400];
  29. };