HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Távoli függvényhívások HTTP-n keresztül


Példaprogram letöltése

16519 bájt

Múlt heti „Remoting, avagy távoli függvényhívások megvalósítása” című cikkünkben elkészített példát fejlesztjük most úgy tovább, hogy a két alkalmazás ne a helyi hálózat két gépén, hanem két tetszőleges olyan gépen, mely csatlakozik az internetre. Most a két alkalmazás nem TCP-n keresztül, hanem HTTP-n keresztül kapcsolódik egymáshoz. A felhasználás, illetve az adott függvény meghívása szempontjából ez nem okoz különösebb nehézséget munkánk során.

Tulajdonképpen HTTP-t használhattunk volna múltkori példánknál is, a helyi hálózat esetében. Ezt csak azért nem tettük, mert a kommunikáció a két alkalmazás között TCP-n keresztül gyorsabb, így amikor csak lehet, ezt használjuk távoli hívások esetén.
Mostani példánkban teljes egészében a múlt héten készült példát használjuk fel, így csak azokat a részeket tárgyaljuk, melyek különböznek attól. A példa teljes megértéséhez ezért szükséges a múlt heti példa ismerete.
A szerver objektumunkban most nem egy TcpChannel osztályt kell használnunk, hanem egy HttpChannel-t. Ennek konstruktorában éppen úgy mint múltkor, a használandó port számát kell megadnunk.
      HttpChannel hc = new HttpChannel(9002);
      ChannelServices.RegisterChannel(hc);
Ehhez hasonlóan a kliens objektumában is ezen osztályra van szükség a kapcsolatfelvétel érdekében.
      HttpChannel hc = new HttpChannel();
      ChannelServices.RegisterChannel(hc);
Mivel most HTTP-n keresztül megy a kapcsolat, így az objektumunkat is egy HTTP kéréssel érhetjük el: http://localhost:9002/Multiple.
      rc = (RemoteClass)Activator.GetObject(typeof(RObject.RemoteClass), "http://localhost:9002/Multiple");
Ezek után a szükséges függvény meghívása már ugyanúgy történik, mintha csak egy, a saját alkalmazásunkban lévő lokális függvényről lenne szó.
    private void button1_Click(object sender, System.EventArgs e)
    {
      label2.Text=rc.MultipleMethod(Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text));    
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 166. 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 |