Az aljzatok leírása java nyelven
Ami a foglalatok típusát illeti, kettő közülük - streaming és datagram.
Az adatfolyam-csatlakozókkal két Java-alkalmazás között adatlinkeket hozhat létre szálak formájában, amelyeket már a második fejezet is tartalmaz. A streamek bevitele vagy kimenete, hagyományos vagy formázott, puffereléssel vagy anélkül. Hamarosan meg fogják győződni arról, hogy nem könnyű megszervezni az adatcserét a Java alkalmazások között az adatfolyamcsatornák használatával, mint a normál fájlok segítségével.
Ne feledje, hogy az adatfolyamcsatlakozók csak két alkalmazás közötti adatátvitelt teszik lehetővé, mivel feltételezik, hogy csatornát hoznak létre ezen alkalmazások között. Néha azonban több ügyfélalkalmazás kölcsönhatását egy kiszolgálóval vagy több ügyfélalkalmazással több kiszolgáló alkalmazással kell biztosítani. Ebben az esetben különálló feladatokat és különálló csatornákat hozhat létre a kiszolgálóalkalmazásban minden ügyfélalkalmazáshoz, vagy használhat datagramcsatlakozókat. Az utóbbi lehetővé teszi, hogy az adatok azonnal átkerüljenek a hálózat összes csomópontjára, bár ezt a lehetőséget ritkán használják és gyakran blokkolják a hálózati adminisztrátorok.
Az adatátvitel garanciájának hiánya miatt a datagram-foglalatok használata ilyen UDP-aljzatok használatát jelenti, amely viszont egy protokollon alapul, amelynek IP-címe nem garantált. A patronok a TCP garantált szállítási protokollon keresztül működnek.
Socket konstruktorok
Leggyakrabban, hogy hozzon létre egy csatlakozó a kliens alkalmazás fogja használni egy két konstruktőrök, prototípusok, amelyek az alábbiak: nyilvános Socket (String host, int port); állami aljzat (InetAddress cím, int port);
Socket osztály meghatározott másik pár tervezők, amely azonban nem javallott: nyilvános Socket (String host, int port, logikai stream); állami aljzat (InetAddress cím, int port, logikai stream);
Ezekben a konstruktorokban az utolsó paraméter határozza meg az aljzat típusát. Ha ez a paraméter igaz, egy adatfolyam-aljzat létrejön, és hamis, egy datagram-foglalat. Ne feledje, hogy a DatagramSocket osztályt a datagramcsatlakozókkal kell dolgozni.
A Socket osztály módszerei
A legérdekesebb, a véleményünk szerint az osztály Socket módszereit soroljuk fel.
Mindenekelőtt ez a módszer getInputStream és getOutputStream, létrehozására bemeneti és kimeneti áramot, illetve: nyilvános InputStream getInputStream (); állami OutputStream getOutputStream ();
Ezek a folyamatok az aljzathoz kapcsolódnak, és azokat a kommunikációs csatornán keresztül kell továbbítani.
A getLocalPort módszer visszaadja a helyi portszámot ehhez az aljzathoz: public int getLocalPort ();
Az aljzat befejezése után a záró módszerrel zárni kell: public void close ();
Végül a toString metódus adja vissza a sztringet: public String toString ();
1. Grafikai tervezés létrehozása
A program így néz ki:
Minden elem a jBuilder v2.00 programban elérhető eszközpalettáról van kiválasztva. Ahhoz, hogy a kijelölt elemet a panelből helyezze el, elegendő egyetlen kattintással kiválasztani, és a "méretre húzni" a kívánt méretre a munkaterületen (bevelPanel1)
A localhost szöveget tartalmazó legfelsõ elemet choiceControlnek nevezik. Ez az ablak a számítógép IP-számának kiválasztásához. A textFieldControl elem követi, a kapcsolat állapota megjelenik benne. Ezek az elemek a JBCL fülön vannak.
A jTextArea alsó két ablakai szöveg küldésére és fogadására szolgálnak. De meg kell jegyeznünk, hogy ezeknek a "Send:" és "Reciev:" ablakoknak az aláírásait az eszköztár külön textControl elemével hozza létre.
A Swing fülön négy jButton elem is található. Ezek a gombok nem különböznek a JBCL fül gombjaitól, és önkényesen választják őket. Amikor létrehoz egy gombot, alapértelmezés szerint magában a gombelem nevének nevét fogja tartalmazni. Ennek a szövegnek a megváltoztatásához válassza ki a gombot egyszer és a Felügyelő panelen (a képernyő jobb oldalán), és írja be a kívánt szöveget a szövegsor előtt.
2. Program vágás
Minden alkalmazás elején a szükséges könyvtárak kapcsolódnak.
Ebben a példában:
Ezután leírjuk a socket, string változókat, bejövő és kimenő streameket:
A következő lépésben létre a bemeneti és a kimeneti stream módszerek okozó getInputStream és getOutputStream, rendre: a = s.getInputStream (); os = s.getOutputStream ();
Ezután az alkalmazás felkészíti a buf puffert az adatok fogadására és meghatározza a változó hosszúságot, amelybe a fogadott adatblokk mérete meg lesz írva: byte buf [] = új byte [512], int hossz;
Most készen áll arra, hogy elindítsa a vonalkód fogadását és feldolgozását az ügyfélalkalmazástól.