HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

TNMStrmServ és TNMStrm komponens használata


Példaprogram letöltése

9902 bájt

A TNMStrm komponens feladata, hogy egy stream-et (stream=adatfolyam) küldjön az interneten vagy intraneten keresztül a stream szerver-nek.
Ebben a cikkben a FastNet paletta TNMStrm és TNMStrmServ komponenseit, és azok használatát mutatjuk be.

Ahhoz, hogy ez működjön, kell egy TNMStrmServ komponens a TNMStrm mellé, hogy megvalósuljon a két pont közötti kommunikáció. A komponens használatához szükség van egy 32-bit Winsock veremre. A WSOCK32.DLL a legtöbb esetben megfelel erre, és ez a Windows'95-ben is megtalálható.

Mielőtt elküldenénk egy stream-et a TNMStrm komponenssel, meg kell adni a Host property-ben a fogadó számítógépet, ahová az adatfolyamot küldeni szeretnénk. Továbbá be kell állítanunk a Port property-t a fogadó port-nak megfelelően. A FromName property-ből tudja a fogadó, hogy ki küldte az adatfolyamot. Ha ezek a beállítások rendben vannak, akkor PostIt metódussal küldhetjük az adatfolyamot.

TNMStrmServ
A TNMStrmServ komponens képes fogadni a TNMStrm komponens által elküldött adatfolyamot.

Szerkesztési időben beállíthatjuk a Port property értékét az Object Ispector-ban. Ezen a port-on keresztül fogadja a komponens az üzeneteket. Amennyiben szükséges eltérhetünk az alapbeállításoktól.
Az üzenetek fogadásához kell írnunk egy eseménykezelőt az OnMSG eseményhez.

A komponensek bemutatásához két példaprogramot készítettünk. Az egyik a küldő, a másik a fogadó alkalmazás. A küldő alkalmazás (Sender könyvtár) a Memo1 komponensben megadott szöveget küldi el a megadott címre. Ez alapesetben a 127.0.0.1 IP cím, ami a helyi gépnek felel meg. A fogadó program fogadja a beállított címre érkező üzenetet, vagyis az elküldött szöveget, és azt megjeleníti a küldő nevével együtt.
A TNMStrm komponensben az alábbi property-ket kell beállítanunk:
  • FromName: a küldő azonosítója (neve);
  • Host: a fogadó neve vagy IP címe (pl. "127.0.0.1", "www.akarmi.hu");
  • Port: a port száma, amin keresztül a kommunikáció megvalósul (pl. 6711);


Az üzenetet a PostIt eljárással tudjuk elküldeni. Ennek egy TStream osztályból származó paramétert kell megadni.
procedure TForm1.Button1Click(Sender: TObject);
var ms:TMemoryStream;
begin
  NMStrm1.FromName:=Edit1.Text;
  NMStrm1.Host:=Edit3.Text;
  NMStrm1.Port:=StrToInt(Edit4.Text);
  ms:=TMemoryStream.Create;
  try
    StreamLn(ms, Memo1.Text);
    Msg('Üzenet küldése...');
    NMStrm1.PostIt(ms);
  finally
    ms.Free;
  end;
end;
Az üzenet fogadása a TNMStrmServ komponens segítségével történik. Itt szintén be kell állítanunk a Host és Port property-ket. Amikor üzenetet kapunk, akkor az OnMSG esemény következik be, tehát ehhez kell egy eljárást készítenünk. Az sForm paraméterben megkapjuk a küldő nevét, az strm paraméterben pedig az elküldött adatfolyamot.
procedure TForm1.NMStrmServ1MSG(Sender: TComponent; 
   const sFrom: String; strm: TStream);
begin
  Edit1.Text:=sFrom;
  Memo1.Lines.LoadFromStream(strm);
end;
A példaprogramok kifogástalan működéséhez elengedhetetlen, hogy mindkét program párhuzamosan fusson!


Cikksorozat

#IDKategóriaCikk címeSorozat
3333WindowsNet Shell parancsok1. rész
3367WindowsNet Shell parancsok2. rész
3396WindowsNet Shell parancsok3. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 238. 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 |