HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

TimeServer megvalósítása Indy komponensekkel


Példaprogram letöltése

6977 bájt

Mellékelt példában megnézzük, hogy a Delphi 6-tól létező Indy komponensek felhasználásával miként készíthetünk olyan szerver és kliens alkalmazást, mely az aktuális időt szolgáltatja, illetve fogadja.

Ilyen alkalmazás készítéséhez a Time Protocol-t (RFC 868) kell megvalósítanunk. Alapértelmezés szerint ez a 37 TCP porton keresztüli kommunikációt használja fel az adatok küldésére. Ez leegyszerűsítve egyetlen számot fog tartalmazni, mely 1900. január 1-jétől eltelt időt adja meg másodpercben.
További információ a következő címen található:
http://www.rfc-editor.org/rfc/rfc868.txt
Szerver alkalmazás
A TimeServer alkalmazás elkészítéséhez az Indy Servers palettán lévő IdTimeServer komponenst kell felhasználnunk.
Komponens elhelyezése után, ha megfelel az alapértelmezett 37-es port, akkor más tennivalónk nincs is a szerver alkalmazással, ahhoz hogy működőképes legyen. Ha másik porton szeretnénk a kommunikációt lefolytatni, akkor változtassuk meg a komponens DefaultPort property értékét.
A kezdő dátum (1900. január 1.) értékét is megváltoztathatjuk BaseDate property-ben.
A komponens OnConnect eseménye akkor jön létre, amikor egy kliens kapcsolódik a szerver alkalmazásunkhoz. Amikor e kapcsolat megszűnik, akkor pedig az OnDisconnect esemény keletkezik.
Kliens alkalmazás
A kliens alkalmazás elkészítéséhez az Indy Clients paletta IdTime komponense szükséges.
A szerver alkalmazáshoz történő kapcsolódáshoz csupán az IdTime komponens Host property-jét kell beállítanunk. Itt kell megadnunk a szerver nevét vagy IP címét.
Ezt követően a komponens DateTime property-jéből máris kiolvasható a szerver gép aktuális dátuma és időpontja.
procedure TForm2.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Clear;
  IdTime1.Host:=LabeledEdit1.Text;
  ListBox1.Items.Add('      Server time: '+DateTimeToStr(IdTime1.DateTime));
  ListBox1.Items.Add('      DateTimeCard: '+IntToStr(IdTime1.DateTimeCard));
  ListBox1.Items.Add('      RoundTripDelay: '+IntToStr(IdTime1.RoundTripDelay));
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 498. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |