Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 8 – Esempi socket Java
//SimpleServer.java: un semplice programma server import java.net.*; import java.io.*; public class SimpleServer { public static void main(String args[]) throws IOException { // Registra il servizio sulla porta 1234 ServerSocket s = new ServerSocket(1234); Socket s1=s.accept(); // Aspetta e accetta una connessione Server Java: codice semplificato (1)
// Ottiene un flusso di comunicazione associato al socket OutputStream s1out = s1.getOutputStream(); DataOutputStream dos = new DataOutputStream (s1out); // Invia una stringa! dos.writeUTF("Hi there"); // Chiude la connessione, ma non il socket server dos.close(); s1out.close(); s1.close(); } Server Java: codice semplificato (2)
// SimpleClient.java: un programma client semplice import java.net.*; import java.io.*; public class SimpleClient { public static void main(String args[]) throws IOException { // Apre la connessione a un server, alla porta 1234 Socket s1 = new Socket(”myserver.unimi.it",1234); // Ottiene un file handle dal socket e legge l’input Client Java: codice semplificato (1)
FINE Client Java: codice semplificato (2) InputStream s1In = s1.getInputStream(); DataInputStream dis = new DataInputStream(s1In); String st = new String (dis.readUTF()); System.out.println(st); // Alla fine, chiude la connessione e esce dis.close(); s1In.close(); s1.close(); }