network.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef _network_h_
  2. #define _network_h_
  3. //////////////////////////////////////////////////////////////////////////////
  4. //
  5. // Network
  6. //
  7. //////////////////////////////////////////////////////////////////////////////
  8. const int cbUDPMax = 512;
  9. class Socket : public IObject {
  10. public:
  11. virtual bool Flush() = 0;
  12. virtual void* AllocateMessage(DWORD length) = 0;
  13. virtual bool Send(const void* pbuf, DWORD length, bool bGuaranteed = true) = 0;
  14. virtual bool Send(const ZString& str, bool bGuaranteed = true) = 0;
  15. };
  16. class SocketSite : public IObject {
  17. public:
  18. virtual void Receive(Socket* psocket, const void* pbuf, DWORD length) = 0;
  19. virtual void Disconnect(Socket* psocket) = 0;
  20. };
  21. class NetworkSite : public IObject {
  22. public:
  23. virtual TRef<SocketSite> Connect(Socket* psocket) = 0;
  24. };
  25. class Network : public IObject {
  26. public:
  27. virtual TRef<Socket> ConnectToServer(const ZString& str, WORD port, SocketSite* psite) = 0;
  28. virtual void Receive() = 0;
  29. };
  30. /*
  31. class GroupSocket : public Socket {
  32. public:
  33. virtual void AddSocket(Socket* psocket) = 0;
  34. virtual void RemoveSocket(Socket* psocket) = 0;
  35. };
  36. */
  37. #endif