NETWORKING


 


 

Descrizione

I computer per comunicare tra loro attraverso internet/intranet usano i protocolli di 4’ livello TCP e UDP.

TCP e’ un protocollo basato sulla connessione che fornisce un flusso di dati affidabile tra 2 computer (usato da http, ftp, telnet).

UDP e’ un protocollo che unisce pacchetti di dati indipendenti (detti datagram) da un computer ad un altro senza garanzia che i pacchetti arrivino a destinazione o che arrivino in ordine.

Generalmente un computer ha una sola connessione fisica alla rete, quindi per usare contemporaneamente piu’ applicazioni si usano le "porte".

I dati trasmessi attraverso internet verranno quindi accompagnati oltre che dall’indirizzo IP anche dalla porta a cui sui destinati (16bit).

Passi per interagire con uno script cgi-bin lato server

1- Creare un url

2 - Aprire una connessione all’url

3 - Scrivere all’ output

4 - Chiudere l’output stream

 

 

Creare un url

URL = Uniform Resource Location e un riferimento ad una risorsa su internet

Stringa per creare un nuovo oggetto url

url gamelan = new URL ("http://www.gamelan.com/");

Puo’ essere anche relativa:

url gamelanNetwork = new URL (gamelan, "gamelan.network.html");

Se si vuole specificare anche la porta:

url gamelan = new URL ("http","www.gamelan.com",80,"/gamelan.network.html);

 

 

MalformedURLException

Ciascun url ottiene un MalformedURLException se l’argomento del costruttore e’ errato o si riferisce ad un protocollo sconosciuto.

Per catturare questa accezione:

try {

URL myURL = new URL(...);

} catch (MalformedURLException e) {

.....

}

 

 

Metodi

getProtocol() = restituisce il protocollo dell’oggetto URL

getHost() = restituisce il nome della macchina oggetto dell’URL

getPort() = restituisce il numero di porta (intero) o -1 se non settato

getFile() = restituisce il pathname del dile

getRef() = restituisce un nome di anchor (una specifica locazione dentro un file)

[es. ParseURL nella pagina urlinfo.html]

 

 

Leggere da un url

Dopo aver creato un URL, si puo’ chiamare il metodo openStream() per ricevere un flusso da cui si puo’ leggere il contenuto dell’URL.

[es. OpenStreamTest.java nella pagina readingurl.html]

 

Connettersi ad un URL

Dopo aver creato un URL, si puo’ chiamare il metodo openConnection() per connettersi.

try {

URL yahoo = new URL("http://www.yahoo.com");

yahoo.openConnection()}

catch (MalformedURLException e) {

.... }

catch (IOException) {

.......}

Una volta connesso all’URL si puo’ usare l’oggetto URLConnection per azioni come leggere o scrivere ad una connessione.

 

 

Socket

Per applicazioni client-server, come interrogazioni di database, i socket forniscono un link di comunicazione tra i 2 programmi (lato client e lato server) sulla rete.

Le classi Socket e ServerSocket del package java.net forniscono un canale di comunicazione usando TCP (e quindi affidabile).

Funzioni principali del programma:

1 - aprire un socket

2 - aprire un inputStream e un outputStream

3 - leggere e scrivere nello stream

4 - chiudere lo stream

5 - chiudere il socket

 

 

 

Datagram

Usato per quelle applicazioni che non richiedono un canale affidabile (come invece implementa il TCP) implementando cosi’una comunicazione usando l’UDP.

Il package java.net contiene 2 classi che permettono di usare datagrammi DatagramSocket e DatagramPocket.

 

1