Zpět na hlavní stránku
English version Produkty Případové studie Software Podpora    Ceník Kontakty    Mapa

Delphi TCP/IP logger/server example

Příklad jednoduchého TCP/IP loggeru napsaného v Borland Delphi 6 demonstruje jednoduchý server, reagující na navázání spojení, logující všechny důležité stavy (připojení, odpojení klienta, chyby v aplikaci) a příchozí data do dvou vstupních souborů. Tento příklad zároveň demonstruje přístup k registrům Windows, práci s INI soubory apod.

Jedná se o velmi jednoduchou aplikaci, která má pouze demonstrativní účely a lze ji plně využít pro tvorbu vašich vlastních aplikací. Pozornost je zaměřena hlavně na korektní řešení síťové části a obsluhu chyb při běhu programu.


Popis metod třídy TMainForm

  • procedure DataSelectClick(Sender: TObject);
    (* Tato rutina je volána tlačítkem DataSelect a dovolí uživateli vybrat výstupní soubor pro data *)
  • procedure AccessSelectClick(Sender: TObject);
    (* Rutina je volána tlačítkem AccessSelect a dovolí uživateli vybrat výstupní soubor pro stavová hlášení *)
  • procedure AppEventsMinimize(Sender: TObject);
    (* Call-back rutina obsluhující minimalizaci hlavního okna a jeho "uklizení" do systray *)
  • procedure TrayIconDblClick(Sender: TObject);
    (* Metoda, vyvolaná dvojklikem na ikonu v systray, obnovuje aplikaci a zobrazí hlavní okno serveru *)
  • procedure FormCreate(Sender: TObject);
    (* Rutina inicializující hlavní okno aplikace, stará se o načtení parametrů z INI souboru, "nahození" serveru apod. *)
  • procedure TryConnect(Sender: TObject);
    (* Metoda volaná při požadavku na aktivaci serveru, zneplatňuje také některá tlačítka *)
  • procedure Disconnect(Sender: TObject);
    (* Metoda volaná při požadavku na ukončení spojení, povoluje některá tlačítka a ovládací prvky hlavního okna *)
  • procedure ServerSocketAccept(Sender: TObject; Socket: TCustomWinSocket);
    (* Tato metoda je volána po prvním spojení s klientem, má pouze statistický význam *)
  • procedure ServerSocketClientConnect(Sender: TObject; Socket: TCustomWinSocket);
    (* Metoda volaná Windows po ověření spojení s klientem, má pouze statistický význam *)
  • procedure ServerSocketClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
    (* Metoda je volána systémem po uzavření spojení klientem, zapisuje tuto událost do souboru *)
  • procedure ServerSocketClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    (* Call-back metoda, která reaguje na chyby ve spojení s klientem a zapisuje je do souboru, dále ukončuje spojení *)
  • procedure AppEventsException(Sender: TObject; E: Exception);
    (* Call-back metoda volaná při obnovitelné chybě aplikace nebo komunikace s klientem. Zapisuje chyby do souboru pro další ladění programu nebo spojení *)
  • procedure FormDestroy(Sender: TObject);
    (* Metoda provádí "generální úklid" při požadavku na ukončení aplikace *)
  • procedure ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);
    (* Call-back rutina, která je volána po příchodu dat od klienta. Tato data uloží do souboru a zobrazí počet celkově přijatých znaků *)
  • procedure WMMinimize( var E : TMessage );
    (* Pomocná rutina, starající se o minimalizaci aplikace po startu programu. Využívá systémové zprávy a jejich řazení do fronty zpráv aplikace *)
  • procedure AppendLog( Msg : string );
    procedure AppendData( Msg : string );

    (* Rutiny, starající se o zápis dat do souboru zpráv, resp. souboru přijatých dat *)

 

Download zdrojových kódů a spustitelného programu

  • dphi_server_example.zip
       \Mail.pas, Mail.dfm, TCPIPlogger.dpr a ostatní zdrojové soubory
       \Program\TCPIPlogger.exe, TCPIPlogger.ini


  Main page Products Support & Download Pricelist Contacts SiteMap  


HW group - Prague - Czech republic - Europe