Advertisement
Guest User

ser

a guest
Oct 18th, 2021
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. unit cc_TCPServer;
  2.  
  3. {$mode ObjFPC}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8. Classes, SysUtils, IdCustomTCPServer, IdContext;
  9.  
  10. var
  11. cc_ServerEngine: TIdCustomTCPServer;
  12.  
  13.  
  14. type
  15. CC_ServerEvent = class
  16. class procedure StartServer(iPort: integer);
  17. class procedure CC_OnServerConnect(AContext: TIdContext);
  18.  
  19.  
  20. end;
  21.  
  22. threadvar
  23. cContext: TIdContext;
  24.  
  25. implementation
  26.  
  27. //Runs The Code When A Client Connects To Server
  28. class procedure CC_ServerEvent.CC_OnServerConnect(AContext: TIdContext);
  29. var
  30. ReadChar : char;
  31. begin
  32.  
  33. ReadChar := AContext.Connection.IOHandler.ReadChar();
  34.  
  35.  
  36.  
  37. if (ReadChar = 'C') Then
  38. Begin
  39. AContext.Connection.IOHandler.Write('Got C!');
  40. end;
  41.  
  42. AContext.Connection.IOHandler.Write('connect');
  43. AContext.Connection.IOHandler.ReadChar();
  44. end;
  45.  
  46.  
  47. //Starts The TCP Server
  48. class procedure CC_ServerEvent.StartServer(iPort: integer);
  49. begin
  50. cc_ServerEngine := TIdCustomTCPServer.Create();
  51. //Set Default Port
  52. cc_ServerEngine.DefaultPort := iPort;
  53. //CallBack Function/Procedure To Routine On Connect
  54. cc_ServerEngine.OnConnect:= @CC_OnServerConnect;
  55. cc_ServerEngine.Active:= True;
  56. end;
  57.  
  58.  
  59. end.
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement