--- 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();
}