Phase de tests TCP

This commit is contained in:
Nabil Moukhlis 2020-12-08 18:33:48 +01:00
parent 7b0e6f4db2
commit 510e436ca9
4 changed files with 12 additions and 3 deletions

Binary file not shown.

View file

@ -63,6 +63,7 @@ public class TCPEchange {
System.out.println("Attente Session de clavardage"); System.out.println("Attente Session de clavardage");
Socket link = ss.accept(); Socket link = ss.accept();
exec.submit(new RunnerTCPEcoute(link,app)); exec.submit(new RunnerTCPEcoute(link,app));
System.out.println("L'ecoute TCP continue apres le premier thread demarre");
//exec.submit(new RunnerTCPEnvoi(link,app,app.getMe())); //exec.submit(new RunnerTCPEnvoi(link,app,app.getMe()));
} }
} }
@ -75,7 +76,7 @@ public class TCPEchange {
//ENVOI //ENVOI
class RunnerTCPEnvoi implements Runnable { class RunnerTCPEnvoi implements Runnable {
final Socket link; private Socket link;
private ChatApp app ; private ChatApp app ;
private Utilisateur Destinataire; private Utilisateur Destinataire;
final BufferedReader in; final BufferedReader in;
@ -97,6 +98,7 @@ class RunnerTCPEnvoi implements Runnable {
public void run() { public void run() {
System.out.println("Creation d'un thread d'envoi"); System.out.println("Creation d'un thread d'envoi");
String msg; String msg;
while(true){ while(true){
if(!bonjourEnvoye) { if(!bonjourEnvoye) {
MessageHorodate mh = new MessageHorodate(Destinataire,app.getMe(),"Bonjour",2); MessageHorodate mh = new MessageHorodate(Destinataire,app.getMe(),"Bonjour",2);
@ -114,7 +116,9 @@ class RunnerTCPEnvoi implements Runnable {
out.flush(); out.flush();
break; break;
} }
out.println(mh); out.println(mh);
System.out.println("Envoi d'un mesage");
out.flush(); out.flush();
} }
} }
@ -141,6 +145,7 @@ class RunnerTCPEcoute implements Runnable {
@Override @Override
public void run() { public void run() {
System.out.println("Creation d'un thread d'ecoute"); System.out.println("Creation d'un thread d'ecoute");
ExecutorService exec = Executors.newFixedThreadPool(1);
try { try {
PrintStream output = new PrintStream(link.getOutputStream()); PrintStream output = new PrintStream(link.getOutputStream());
//InputStream is = link.getInputStream(); //InputStream is = link.getInputStream();
@ -154,7 +159,9 @@ class RunnerTCPEcoute implements Runnable {
String payload = ""; String payload = "";
String msg = ""; String msg = "";
while (line != null) { while (line != null) {
line = in.readLine(); line = in.readLine();
if(line.split(":")[0].equals("Destinataire")) { if(line.split(":")[0].equals("Destinataire")) {
if(msg.equals("")) { if(msg.equals("")) {
dest = line+"\n"; dest = line+"\n";
@ -166,6 +173,7 @@ class RunnerTCPEcoute implements Runnable {
if(mh.getType()==1) { if(mh.getType()==1) {
Historique h = app.getHist(mh.getSource().getPseudo()); Historique h = app.getHist(mh.getSource().getPseudo());
h.addMessage(mh); h.addMessage(mh);
app.majHistorique(mh.getSource().getPseudo(), h); app.majHistorique(mh.getSource().getPseudo(), h);
} }
else if(mh.getType()==0) { else if(mh.getType()==0) {
@ -180,9 +188,10 @@ class RunnerTCPEcoute implements Runnable {
else if(line.split(":")[0].equals("Type")) { else if(line.split(":")[0].equals("Type")) {
if(line.split(":")[1].equals("2")) { if(line.split(":")[1].equals("2")) {
System.out.println("Bonjour recu!"); System.out.println("Bonjour recu!");
System.out.println(src.split(":")[1].replaceAll("\n", "")); //System.out.println(src.split(":")[1].replaceAll("\n", ""));
u2=Utilisateur.stringToUtilisateur(src.split(":")[1].replaceAll("\n", "")); u2=Utilisateur.stringToUtilisateur(src.split(":")[1].replaceAll("\n", ""));
new Thread(new RunnerTCPEnvoi(link,app,u2,true)); exec.submit(new RunnerTCPEnvoi(link,app,u2,true));
System.out.println("Thread d'envoi envoye");
} }
type = line+"\n"; type = line+"\n";
} }