Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

A Java nyelv Hálózatkezelés, java.net Elek Tibor.

Hasonló előadás


Az előadások a következő témára: "A Java nyelv Hálózatkezelés, java.net Elek Tibor."— Előadás másolata:

1 A Java nyelv Hálózatkezelés, java.net Elek Tibor

2 Hálózatkezelés java.net csomag: - IP cím kezelés: Host azonosítás (InetAddress, Inet4Address, Inet6Address), Host és port azonosítás (InetSocketAddress) - Socket kezelés: Kapcsolat-orientált (TCP) protokoll (Socket, ServerSocket), Kapcsolat nélküli (UDP) protokoll (DatagramSocket) - URL kezelés: Erőforrás azonosítás (URI, URL), kapcsolat a távoli erőforrással és kezelés (URLConnection, URLStreamHandler, ContentHandler)

3 Hálózatkezelés InetAddress - nincs konstruktor - Host megtalálása: static InetAddress getByAddress(byte[]) static InetAddress getByName(String) static InetAddress getLocalHost() - Tájékozódás a hostról (pl.) String getHostAddress() String getHostName() boolean isReachable(int timeout)

4 Kapcsolat mentes kommunikáció Üzenet küldés Jellemzői: - UDP alapú - Nem megbízható - szerver-kliens (fogad, küld) - üzenet szórás lehetősége DatagramSocket: kommunikációs végpont DatagramPacket: csomag

5 Kapcsolat mentes kommunikáció Szerver: - DatagramSocket létrehozása egy port-t megadva, - várakozás a csomagokra. kliens: - DatagramSocket létrehozása, - csomag létrehozása megadva a címzett host- t, port-t, üzenetet, üzenet hosszt, - csomag elküldése

6 Kapcsolat alapú kommunikáció Jellemzői: - TCP alapú - Alacsony szintű két irányú kommunikáció Szerver-kliens - szerver: (ServerSocket) egy host egy adott port-ján várja a kapcsolódásokat, egy szerverhez több kliens is kapcsolódhat, minden kapcsolódó klienshez felépül egy kapcsolódási végpont (Socket) - kliens: (Socket) kapcsolat felvétel egy szerverrel (host és port), kommunikáció, kapcsolat bontás

7 Kapcsolat alapú kommunikáció ServerSocket: - Létrehozás: kontruktorral, megadva a port számát. Megdobhat IOException, SecurityException, IllegalArgumentException. A szerverrel innentől kezdve felvehetjük a kapcsolatot, a kapcsolatok várakozó sorba kerülnek. ServerSocket ss = new ServerSocket(portSzam); Megadható még a várakozó sor max. mérete.

8 Kapcsolat alapú kommunikáció ServerSocket: - Kapcsolat fogadás: az accept() metódus meghívásával kiveszi a sorból az elsőt. Ha nincs még bejövő kapcsolat akkor elkezd várni egy bejövő kapcsolatra (blokkoló!). Ha van, akkor létrehoz hozzá egy Socket-et, amin keresztül kommunikálhatunk. Socket s = ss.accept(); //majd kommunikáció

9 Kapcsolat alapú kommunikáció ServerSocket: - Több kapcsolat fogadása: egy kapcsolaton keresztüli kommunikáció hosszadalmas lehet, ezért célszerű külön szálat indítani. while(!vege) { Socket s = ss.accept(); //új szál indítása a kommunikációhoz }

10 Kapcsolat alapú kommunikáció ServerSocket egyéb metódusok : - A kapcsolódni kívánó host címe: public InetAddress getInetAddress() A lokál host címe: public int getLocalAddress() A portszám lekérdezése: public int getLocalPort()

11 Kapcsolat alapú kommunikáció ServerSocket egyéb metódusok: - Várakozási idő beállítása, lekérdezése (a várakozási idő letelte után java.io.InterruptedIOException generálódik, a 0 érték esetén végtelenségig vár): public void setSoTimeout(int timeout) throws SocketException public int getSoTimeout() throws IOException

12 Kapcsolat alapú kommunikáció Socket: - A kapcsolódás végpontjai, mind a szerver, mind a kliens oldalon - Adatfolyamok nyerhetők ki belőlük, input és output is. - server oldali Socket megkapása az accept()-el - kliens oldali Socket kontruktorral, pl.: Socket(InetAddress host, int port) Socket(String host, int port)

13 Kapcsolat alapú kommunikáció Socket: - Csatornák kinyerése: InputStream getInputStream() throws IOException OutputStream getOutputStream() throws IOException - Lezárás: void close() - Távoli gép címe, helyi gép címe: public InetAddress getInetAddress() public InetAddress getLocalAddress() - Távoli gép portja, helyi gép portja: public int getPort() public int getLocalPort()


Letölteni ppt "A Java nyelv Hálózatkezelés, java.net Elek Tibor."

Hasonló előadás


Google Hirdetések