SlideShare a Scribd company logo
Java e le reti
Package java.net
Inet Address
Java mette a disposizione numerose classi utili per sviluppare
applicazioni di rete con estrema semplicità. La prima di queste e la
più semplice è InetAddress.
InetAddress localHostAddress= InetAddress.getLocalHost();
Determina l’indirizzo del computer Locale.
InetAddress[] addresses = InetAddress.getAllByName(host);
Determina un array di indirizzi dell’host indicato.
Realizzazione di un server
Le applicazioni di rete sono realizzate attraverso un’architettura di tipo
Client-Server. Le applicazioni Server sono programmi che in genere
rimangono in attesa su una porta di protocollo e all’arrivo di una richiesta
su quella porta rispondono al cliente con un servizio.
ServerSocket s = new ServerSocket(8189);
Socket incoming = s.accept( );
Nell’esempio il server è in ascolto sulla porta 8189 e all’arrivo di una
richiesta viene creato un Socket (un canale di comunicazione) con il client.
BufferedReader in = new BufferedReader
(new InputStreamReader(incoming.getInputStream()));
PrintWriter out = new PrintWriter(incoming.getOutputStream(), true);
Attraverso il Socket è possibile creare degli stream di input o di output per
leggere da o inviare al Client dei dati.
Server e Thread
Il compito di un server è in genere quello di servire più clienti,
quindi è indispensabile che ad ogni richiesta in arrivo il server
operi l’operazione di fork, cioè generi un thread per gestire la
richiesta e nel frattempo resti comunque in ascolto.
int i=0;
ServerSocket s = new ServerSocket(8189);
for (;;)
{ Socket incoming = s.accept( );
ThreadedEcho runner=new ThreadedEcho (incoming, i++)
runner.start();
}
Dove la classe Thread creerà nel metodo run gli stream specifici
di comunicazione con il Client.
(NOTA: per testare il server è possibile usare come client telnet o
l’Hyperterminal)
Esempio di Client
A differenza del Server il client ha il compito di iniziare la
comunicazione, di conseguenza la prima cosa che fa è istanziare
un canale di comunicazione (Socket)
Socket s = new Socket(“10.10.150.9”,8080);
BufferedReader in = new BufferedReader
(new InputStreamReader(s.getInputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream());
out.println(“get index.html”);
String line;
while ((line = in.readLine())!=null)
{System.out.println(line);}
Nell’esempio viene aperto un Socket con l’IP 10.10.150.9 sulla
porta 8080
Esempio di Client
A differenza del Server il client ha il compito di iniziare la
comunicazione, di conseguenza la prima cosa che fa è istanziare
un canale di comunicazione (Socket)
Socket s = new Socket(“10.10.150.9”,8080);
BufferedReader in = new BufferedReader
(new InputStreamReader(s.getInputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream());
out.println(“get index.html”);
String line;
while ((line = in.readLine())!=null)
{System.out.println(line);}
Nell’esempio viene aperto un Socket con l’IP 10.10.150.9 sulla
porta 8080

More Related Content

ODP
Presentazione Oz - Mozart
fede
 
KEY
Twcrashcourse
rik0
 
PDF
Hacking reti wireless
Ce.Se.N.A. Security
 
PDF
Lezione 5: Socket SSL/ TLS
Andrea Della Corte
 
PDF
Ajax Primi Passi Per Iniziare
astanco
 
PDF
Ajax Primi Passi Per Iniziare
astanco
 
PPT
MySQL
Sergio Ronchi
 
PPT
Sql 3
Sergio Ronchi
 
Presentazione Oz - Mozart
fede
 
Twcrashcourse
rik0
 
Hacking reti wireless
Ce.Se.N.A. Security
 
Lezione 5: Socket SSL/ TLS
Andrea Della Corte
 
Ajax Primi Passi Per Iniziare
astanco
 
Ajax Primi Passi Per Iniziare
astanco
 

Viewers also liked (17)

PPT
Java lezione 8
Sergio Ronchi
 
DOC
Design Patterns
Sergio Ronchi
 
PPT
Sql 1
Sergio Ronchi
 
PPT
Oracle PL sql 2
Sergio Ronchi
 
PPT
Sql 4
Sergio Ronchi
 
PPT
Java Lezione 1
Sergio Ronchi
 
PPT
Oracle 2 (sqlplus)
Sergio Ronchi
 
PPT
Java lezione 2
Sergio Ronchi
 
PPT
Java lezione 15
Sergio Ronchi
 
PPT
Java lezione 13
Sergio Ronchi
 
PPT
Java lezione 14
Sergio Ronchi
 
PPT
Java lezione 11
Sergio Ronchi
 
PPT
Sql 2
Sergio Ronchi
 
PPT
Oracle 3 (sq lnet)
Sergio Ronchi
 
PPT
Java lezione 19
Sergio Ronchi
 
PPT
Oracle PL sql 3
Sergio Ronchi
 
PPT
Java lezione 10
Sergio Ronchi
 
Java lezione 8
Sergio Ronchi
 
Design Patterns
Sergio Ronchi
 
Oracle PL sql 2
Sergio Ronchi
 
Java Lezione 1
Sergio Ronchi
 
Oracle 2 (sqlplus)
Sergio Ronchi
 
Java lezione 2
Sergio Ronchi
 
Java lezione 15
Sergio Ronchi
 
Java lezione 13
Sergio Ronchi
 
Java lezione 14
Sergio Ronchi
 
Java lezione 11
Sergio Ronchi
 
Oracle 3 (sq lnet)
Sergio Ronchi
 
Java lezione 19
Sergio Ronchi
 
Oracle PL sql 3
Sergio Ronchi
 
Java lezione 10
Sergio Ronchi
 
Ad

Similar to Java lezione 9 (20)

PDF
Lezione 3: Connessioni TCP
Andrea Della Corte
 
PDF
Introduzione al linguaggio Java
Paolo Tosato
 
PDF
Corso Java 3 - WEB
Giuseppe Dell'Abate
 
PPT
2 Protocolli Applicativi
acapone
 
PDF
Corso di servlet jsp e pattern
Giuseppe Dell'Abate
 
PDF
Sistemi distribuiti
Valeria Gennari
 
PPTX
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
I.S.I.S. "Antonio Serra" - Napoli
 
PDF
socket e SocketServer: il framework per i server Internet in Python
PyCon Italia
 
PDF
Apache Parte 1
Majong DevJfu
 
PPTX
World wide web
Casaccia Rosanna
 
PDF
MOOC Piattaforme digitali per la gestione del territorio - 4.4
Alessandro Bogliolo
 
PPT
2 - Introduzione a Internet (1/2) - 16/17
Giuseppe Vizzari
 
PDF
Lezione 6: Remote Method Invocation
Andrea Della Corte
 
PDF
Architetture web - Linguaggi e standard - Web server, application server, dat...
Fulvio Corno
 
PDF
Web frameworks
Appsterdam Milan
 
PPT
Come funziona la navigazione Web
extrategy
 
PDF
Packet Sniffing
Majong DevJfu
 
PDF
Java Network Programming
Stefano Sanna
 
PDF
Lezione 11: Accesso ai RESTful Web Services in Java
Andrea Della Corte
 
PPTX
C# Chat for Windows: Network infrastructure + file sharing + clipboard sharin...
Francesco Corazza
 
Lezione 3: Connessioni TCP
Andrea Della Corte
 
Introduzione al linguaggio Java
Paolo Tosato
 
Corso Java 3 - WEB
Giuseppe Dell'Abate
 
2 Protocolli Applicativi
acapone
 
Corso di servlet jsp e pattern
Giuseppe Dell'Abate
 
Sistemi distribuiti
Valeria Gennari
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
I.S.I.S. "Antonio Serra" - Napoli
 
socket e SocketServer: il framework per i server Internet in Python
PyCon Italia
 
Apache Parte 1
Majong DevJfu
 
World wide web
Casaccia Rosanna
 
MOOC Piattaforme digitali per la gestione del territorio - 4.4
Alessandro Bogliolo
 
2 - Introduzione a Internet (1/2) - 16/17
Giuseppe Vizzari
 
Lezione 6: Remote Method Invocation
Andrea Della Corte
 
Architetture web - Linguaggi e standard - Web server, application server, dat...
Fulvio Corno
 
Web frameworks
Appsterdam Milan
 
Come funziona la navigazione Web
extrategy
 
Packet Sniffing
Majong DevJfu
 
Java Network Programming
Stefano Sanna
 
Lezione 11: Accesso ai RESTful Web Services in Java
Andrea Della Corte
 
C# Chat for Windows: Network infrastructure + file sharing + clipboard sharin...
Francesco Corazza
 
Ad

More from Sergio Ronchi (14)

PPT
Java lezione 18
Sergio Ronchi
 
PPT
Java lezione 17
Sergio Ronchi
 
PPT
Java lezione 16
Sergio Ronchi
 
PPT
Java lezione 12
Sergio Ronchi
 
PPT
Java lezione 7
Sergio Ronchi
 
PPT
Java lezione 6
Sergio Ronchi
 
PPT
Java lezione 5
Sergio Ronchi
 
PPT
Java lezione 4
Sergio Ronchi
 
PPT
Java lezione 3
Sergio Ronchi
 
PPT
Java introduzione
Sergio Ronchi
 
PPT
Oracle PLSql 4
Sergio Ronchi
 
PPT
Oracle PL sql 1
Sergio Ronchi
 
PPT
Oracle 1
Sergio Ronchi
 
PPT
Sql 5
Sergio Ronchi
 
Java lezione 18
Sergio Ronchi
 
Java lezione 17
Sergio Ronchi
 
Java lezione 16
Sergio Ronchi
 
Java lezione 12
Sergio Ronchi
 
Java lezione 7
Sergio Ronchi
 
Java lezione 6
Sergio Ronchi
 
Java lezione 5
Sergio Ronchi
 
Java lezione 4
Sergio Ronchi
 
Java lezione 3
Sergio Ronchi
 
Java introduzione
Sergio Ronchi
 
Oracle PLSql 4
Sergio Ronchi
 
Oracle PL sql 1
Sergio Ronchi
 
Oracle 1
Sergio Ronchi
 

Java lezione 9

  • 1. Java e le reti Package java.net
  • 2. Inet Address Java mette a disposizione numerose classi utili per sviluppare applicazioni di rete con estrema semplicità. La prima di queste e la più semplice è InetAddress. InetAddress localHostAddress= InetAddress.getLocalHost(); Determina l’indirizzo del computer Locale. InetAddress[] addresses = InetAddress.getAllByName(host); Determina un array di indirizzi dell’host indicato.
  • 3. Realizzazione di un server Le applicazioni di rete sono realizzate attraverso un’architettura di tipo Client-Server. Le applicazioni Server sono programmi che in genere rimangono in attesa su una porta di protocollo e all’arrivo di una richiesta su quella porta rispondono al cliente con un servizio. ServerSocket s = new ServerSocket(8189); Socket incoming = s.accept( ); Nell’esempio il server è in ascolto sulla porta 8189 e all’arrivo di una richiesta viene creato un Socket (un canale di comunicazione) con il client. BufferedReader in = new BufferedReader (new InputStreamReader(incoming.getInputStream())); PrintWriter out = new PrintWriter(incoming.getOutputStream(), true); Attraverso il Socket è possibile creare degli stream di input o di output per leggere da o inviare al Client dei dati.
  • 4. Server e Thread Il compito di un server è in genere quello di servire più clienti, quindi è indispensabile che ad ogni richiesta in arrivo il server operi l’operazione di fork, cioè generi un thread per gestire la richiesta e nel frattempo resti comunque in ascolto. int i=0; ServerSocket s = new ServerSocket(8189); for (;;) { Socket incoming = s.accept( ); ThreadedEcho runner=new ThreadedEcho (incoming, i++) runner.start(); } Dove la classe Thread creerà nel metodo run gli stream specifici di comunicazione con il Client. (NOTA: per testare il server è possibile usare come client telnet o l’Hyperterminal)
  • 5. Esempio di Client A differenza del Server il client ha il compito di iniziare la comunicazione, di conseguenza la prima cosa che fa è istanziare un canale di comunicazione (Socket) Socket s = new Socket(“10.10.150.9”,8080); BufferedReader in = new BufferedReader (new InputStreamReader(s.getInputStream())); PrintWriter out=new PrintWriter(s.getOutputStream()); out.println(“get index.html”); String line; while ((line = in.readLine())!=null) {System.out.println(line);} Nell’esempio viene aperto un Socket con l’IP 10.10.150.9 sulla porta 8080
  • 6. Esempio di Client A differenza del Server il client ha il compito di iniziare la comunicazione, di conseguenza la prima cosa che fa è istanziare un canale di comunicazione (Socket) Socket s = new Socket(“10.10.150.9”,8080); BufferedReader in = new BufferedReader (new InputStreamReader(s.getInputStream())); PrintWriter out=new PrintWriter(s.getOutputStream()); out.println(“get index.html”); String line; while ((line = in.readLine())!=null) {System.out.println(line);} Nell’esempio viene aperto un Socket con l’IP 10.10.150.9 sulla porta 8080