# HG changeset patch # User Da Risk # Date 1236897949 -3600 # Node ID 20a2c2b040602574e4be5ed4f5ea7ee0f089c070 # Parent d26672ed37631526e9a5a54103c953c50dcac433 Transform FileSender in a server diff -r d26672ed3763 -r 20a2c2b04060 src/com/beem/project/beem/jingle/FileSender.java --- a/src/com/beem/project/beem/jingle/FileSender.java Thu Mar 12 23:26:27 2009 +0100 +++ b/src/com/beem/project/beem/jingle/FileSender.java Thu Mar 12 23:45:49 2009 +0100 @@ -7,24 +7,29 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; + +import java.net.InetAddress; +import java.net.ServerSocket; import java.net.Socket; +import java.net.UnknownHostException; public class FileSender extends Thread { - private String dest; private int port; private boolean started = false; private String filename; + private InetAddress local_addr; - public FileSender(String dest, int port, String file){ - this.dest = dest; + public FileSender(String listenAddr, int port, String file) throws UnknownHostException{ this.port = port; this.filename = file; + this.local_addr = InetAddress.getByName(listenAddr); } public void run(){ try { + ServerSocket ssock = new ServerSocket(port, 50, local_addr); InputStream in = new BufferedInputStream(new FileInputStream(filename)); - Socket sock = new Socket(dest, port); + Socket sock = ssock.accept(); OutputStream out = new BufferedOutputStream(sock.getOutputStream()); try { @@ -46,11 +51,13 @@ out.close(); if (sock != null) sock.close(); + if (ssock != null) + ssock.close(); } } catch (FileNotFoundException e){ System.err.println("Impossible d'ouvrir " + filename +" " + e.getLocalizedMessage()); } catch (IOException e) { - System.err.println("Imposible de se connecter a " + dest + " " + e.getLocalizedMessage()); + System.err.println("I/O Error " + e.getLocalizedMessage()); } } @@ -58,8 +65,8 @@ started = false; } - public static void main(String args[]) throws InterruptedException { - FileSender fs = new FileSender("localhost", 4242, "/tmp/img.jpeg"); + public static void main(String args[]) throws InterruptedException, UnknownHostException { + FileSender fs = new FileSender("127.0.0.1" ,4242, "/tmp/img.jpeg"); fs.start(); fs.join(); }