diff --git a/src/chat/ReceiveThread.class b/src/chat/ReceiveThread.class new file mode 100644 index 0000000..cb76c24 Binary files /dev/null and b/src/chat/ReceiveThread.class differ diff --git a/src/chat/SendThread.class b/src/chat/SendThread.class new file mode 100644 index 0000000..6ad599a Binary files /dev/null and b/src/chat/SendThread.class differ diff --git a/src/chat/socket_client.class b/src/chat/socket_client.class index 6ad3586..3736fd9 100644 Binary files a/src/chat/socket_client.class and b/src/chat/socket_client.class differ diff --git a/src/chat/socket_client.java b/src/chat/socket_client.java index 07186e4..8932dc0 100644 --- a/src/chat/socket_client.java +++ b/src/chat/socket_client.java @@ -9,26 +9,108 @@ import java.net.ServerSocket; import java.net.Socket; import java.net.DatagramSocket; +class SendThread extends Thread { + String username; + String address; + String message; + int port; + + SendThread(String in_username, String in_address, String in_message, int in_port) + { + username = in_username; + address = in_address; + message = in_message; + port = in_port; + } + public void run() + { + Socket link; + Boolean connected = false; + PrintWriter out; + + while(!connected) + { + try + { + link = new Socket(address, port); + out = new PrintWriter(link.getOutputStream(),true); + out.println(username + ":" + message); + + connected = true; + } + catch(IOException e) + { + System.out.println("nik1!"); + connected = false; + } + } + + } +} + +class ReceiveThread extends Thread { + + int port; + ReceiveThread(int in_port) + { + port = in_port; + } + public void run() + { + try + { + ServerSocket servSocket = new ServerSocket(port); + Boolean exit = false; + + while(!exit) + { + Socket link = servSocket.accept(); + BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream())); + String message = in.readLine(); + if(message == "exit") + exit = true; + else + System.out.println(message); + + link.close(); + } + + } + catch(IOException e) + { + System.out.println("nik2 !"); + } + } +} public class socket_client { public static void main (String [] args) { - try - { - System.out.println("Connecting to server..."); - Socket link = new Socket("localhost", 1234);//remplacer localhost par l'adresse IP du serveur - System.out.println("Establishing I/O streams..."); - BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream())); - PrintWriter out = new PrintWriter(link.getOutputStream(),true); - BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); - while(true) - { - String message = console.readLine(); - out.println("CLIENT:" + message); - } - } - catch(IOException e) - { - System.out.println("nik!"); - } + /* System.out.println("Connecting to server..."); + System.out.println("Establishing I/O streams...");*/ + try + { + BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); + System.out.print("Entrez l'adresse de destination:"); + String address = console.readLine(); + System.out.print("Entrez le numéro de port source:"); + int sport = Integer.parseInt(console.readLine()); + System.out.print("Entrez le numéro de port destination:"); + int dport = Integer.parseInt(console.readLine()); + System.out.print("Entrez votre nom d'utilisateur:"); + String username = console.readLine(); + SendThread t1; + ReceiveThread t2 = new ReceiveThread(sport); + t2.start(); + while(true) + { + String message = console.readLine(); + t1 = new SendThread(username, address, message, dport); + t1.start(); + } + } + catch(IOException e) + { + System.out.println("nik3!"); + } } -} \ No newline at end of file +} diff --git a/src/chat/socket_server.class b/src/chat/socket_server.class deleted file mode 100644 index 294f771..0000000 Binary files a/src/chat/socket_server.class and /dev/null differ diff --git a/src/chat/socket_server.java b/src/chat/socket_server.java deleted file mode 100644 index cdda7b3..0000000 --- a/src/chat/socket_server.java +++ /dev/null @@ -1,37 +0,0 @@ -//package chat; -import java.net.*; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; - -public class socket_server { - public static void main (String [] args) - { - try - { - Boolean exit = false; - ServerSocket servSocket = new ServerSocket(1234); - System.out.println("Awaiting connection ... "); - Socket link = servSocket.accept(); - System.out.println("Awaiting data ... "); - BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream())); - PrintWriter out = new PrintWriter(link.getOutputStream(),true); - - while(!exit) - { - String message = in.readLine(); - if(message == "exit") - exit = true; - else - System.out.println(message); - } - link.close(); - } - catch(IOException e) - { - System.out.println("nik !"); - } - } -}