lpr-b:messangermain
no way to compare when less than two revisions
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
— | lpr-b:messangermain [22/10/2007 alle 14:43 (18 anni fa)] (versione attuale) – creata Marco Danelutto | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | <code java> | ||
+ | package instantMessanger; | ||
+ | import java.io.IOException; | ||
+ | import java.net.ServerSocket; | ||
+ | import java.net.Socket; | ||
+ | import java.net.SocketException; | ||
+ | import java.net.SocketTimeoutException; | ||
+ | import java.net.UnknownHostException; | ||
+ | |||
+ | public class Messanger { | ||
+ | |||
+ | /** | ||
+ | * @param args | ||
+ | */ | ||
+ | public static void main(String[] args) { | ||
+ | final int PORTA = 17191; | ||
+ | final int DELAY = 5000; | ||
+ | final int VARIA = 1000; | ||
+ | |||
+ | ServerSocket ss = null; | ||
+ | try { | ||
+ | ss = new ServerSocket(PORTA); | ||
+ | } catch (IOException e) { | ||
+ | System.out.println(" | ||
+ | return; | ||
+ | } | ||
+ | int timeout = DELAY + ((int) Math.random()*VARIA); | ||
+ | try { | ||
+ | ss.setSoTimeout(timeout); | ||
+ | } catch (SocketException e) { | ||
+ | System.out.println(" | ||
+ | System.out.println(e.getCause()); | ||
+ | } | ||
+ | Socket s = null; | ||
+ | while(true) { | ||
+ | try { | ||
+ | s = ss.accept(); | ||
+ | System.out.println(" | ||
+ | break; | ||
+ | } catch (SocketTimeoutException e) { | ||
+ | System.out.println(" | ||
+ | try { | ||
+ | Thread.sleep(1000); | ||
+ | } catch (InterruptedException e1) { | ||
+ | e1.printStackTrace(); | ||
+ | } | ||
+ | } catch (IOException e) { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | try { | ||
+ | s = new Socket(args[0], | ||
+ | System.out.println(" | ||
+ | break; | ||
+ | } catch (UnknownHostException e) { | ||
+ | System.out.println(" | ||
+ | return; | ||
+ | } catch (IOException e) { | ||
+ | System.out.println(" | ||
+ | } | ||
+ | } | ||
+ | System.out.println(" | ||
+ | CopyThread leggi = null; | ||
+ | CopyThread scrivi = null; | ||
+ | try { | ||
+ | leggi = | ||
+ | new CopyThread(s.getInputStream(), | ||
+ | scrivi = | ||
+ | new CopyThread(System.in, | ||
+ | leggi.start(); | ||
+ | scrivi.start(); | ||
+ | } catch (IOException e) { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | |||
+ | try { | ||
+ | leggi.join(); | ||
+ | System.out.println(" | ||
+ | scrivi.join(); | ||
+ | System.out.println(" | ||
+ | } catch (InterruptedException e) { | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </ |
lpr-b/messangermain.txt · Ultima modifica: 22/10/2007 alle 14:43 (18 anni fa) da Marco Danelutto