IdEchoUDPServer.pas 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. { $HDR$}
  2. {**********************************************************************}
  3. { Unit archived using Team Coherence }
  4. { Team Coherence is Copyright 2002 by Quality Software Components }
  5. { }
  6. { For further information / comments, visit our WEB site at }
  7. { http://www.TeamCoherence.com }
  8. {**********************************************************************}
  9. {}
  10. { $Log: 10151: IdEchoUDPServer.pas
  11. {
  12. { Rev 1.0 2002.11.12 10:37:26 PM czhower
  13. }
  14. unit IdEchoUDPServer;
  15. interface
  16. uses IdAssignedNumbers, IdSocketHandle, IdUDPBase, IdUDPServer, Classes;
  17. type
  18. TIdEchoUDPServer = class(TIdUDPServer)
  19. protected
  20. procedure DoUDPRead(AData: TStream; ABinding: TIdSocketHandle); override;
  21. public
  22. constructor Create(axOwner: TComponent); override;
  23. published
  24. property DefaultPort default IdPORT_ECHO;
  25. end;
  26. implementation
  27. { TIdEchoUDPServer }
  28. constructor TIdEchoUDPServer.Create(axOwner: TComponent);
  29. begin
  30. inherited Create(axOwner);
  31. DefaultPort := IdPORT_ECHO;
  32. end;
  33. procedure TIdEchoUDPServer.DoUDPRead(AData: TStream; ABinding: TIdSocketHandle);
  34. var s : String;
  35. begin
  36. inherited DoUDPRead(AData, ABinding);
  37. SetLength(s, AData.Size);
  38. AData.Read(s[1], AData.Size);
  39. with ABinding do
  40. begin
  41. SendTo(PeerIP, PeerPort, s[1], Length(s));
  42. end;
  43. end;
  44. end.