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