Jelenlegi hely

Utolsó változások

17.2. Egy csomag elnevezése

Az egész világon írnak a programozók a Java programnyelvhez osztályokat, interfészeket, kulcsszavakat és megjegyzéseket, és valószínűleg két programozó ugyanazt a nevet két különböző feladatú osztálynál fogja használni. Valójában, az előző példa esetén, amikor definiálunk egy Rectangle osztályt, akkor a Rectangle osztály már benne van a java.awt csomagban. A fordító mégis engedélyezi két osztálynak ugyanazt a nevet. Miért? Mert azok különböző csomagokban vannak, és mindegyik osztálynak a teljes neve magába foglalja a csomag nevét.

17.3. Csomag tagok használata

Csak a publikus csomag tagok érhetőek el a csomagon kívül. Ahhoz hogy használjunk egy publikus csomag tagot a csomagján kívülről, a következők valamelyikét kell tennünk (vagy akár többet):

  • A teljes (vagy más néven minősített) nevén keresztül kell hivatkoznunk rá
  • Importáljuk a csomag tagot
  • Importáljuk a tag teljes csomagját

Mindegyiket különböző szituációkban alkalmazhatjuk, amelyeket a következő részekben tisztázunk.

A honlap célja

Ez a honlap a Java programozás tankönyv újabb, folyamatosan bővített verziója.

A könyv feldolgozását többféle oktatási formában tudom segíteni.

Java programozás

22.1 Hálózati alapok

Az Internetre kötött számítógépek vagy a TCP (Transmission Controll Protocol) vagy az UDP (User Datagram Protocol) protokollt használják, amint azt az alábbi ábrán is látni lehet:

Protokols

22.3.2 Olvasás és írás a socket-ről

Nézzünk egy egyszerű példát arra, hogy hogyan lehet kiépíteni egy kapcsolatot a szerver programmal a Socket osztályt használva, azután megnézzük, hogy hogyan tud a kliens adatot küldeni és fogadni a szervertől a socket-en keresztül.

A példaprogram része az EchoClient, ami össze van kötve az echo szerverrel. Az echo szerver elég egyszerűen tud adatot fogadni a klienstől és választ küldeni rá. Az echo szerver egy jól ismert kiszolgáló, amit a kliens a 7-es port-on keresztül tud elérni.

22.3.1 Mi az a socket?

Normális esetben a szerver egy speciális számítógépen fut és van egy socket-je, ami egy speciális port számra van kötve. A szerver várakozik, figyeli a socket-et hogy van-e felkérés egy klienstől a kapcsolódásra.

A kliens oldalon: A kliens ismeri annak a számítógépnek a hosztnevét, amelyiken a szerver fut, és annak a portnak a számát, amelyiken keresztül a szerver kapcsolódva van. A kapcsolatra való felkéréshez a kliensnek érintkeznie kell a szerverrel a szerver gépén és port-ján.

22.3 Socketek kezelése

A korábbi példák a kliens és szerver közötti magas szintű kommunikáció lehetőségeit mutatták be. Gyakran van olyan szituáció, amikor a magas szintű megközelítés nem megfelelő. Ekkor alacsonyabb szintű, úgynevezett socket alapú kommunikációra van szükség.

22.2.4 Csatlakozás egy URL-hez

Miután sikeresen készítettünk egy URL objektumot, meghívhatjuk az URL objektum openConnection metódusát, hogy csatlakoztassuk. Amikor kapcsolódunk egy URL-hez, a hálózaton keresztül inicializálunk egy kommunikációs kapcsolatot a Java programja és az URL között. Például, nyithatunk egy kapcsolatot a Yahoo oldalra az alábbi kóddal:

22.2.3 Közvetlen olvasás URL-ből

Miután sikeresen készítettünk egy URL-t, az URL openStream metódusát meghívva kap egy adatfolyamot, amiből kiolvashatja az URL tartalmát. Az openStream metódus visszatérési értéke egy java.io.InputStream objektum, így olyan könnyű az URL-ből olvasni, mint egy tetszőleges állományból.

Oldalak