Modification du processus TCP

This commit is contained in:
Nabzzz 2020-12-07 15:12:53 +01:00
parent ba901972cd
commit 19ca764685
5 changed files with 106 additions and 30 deletions

View file

@ -44,4 +44,16 @@ public class Historique {
public Utilisateur getUser2() {
return User2;
}
public void afficher10derniers() {
int n =10;
if(HistoriqueHorodate.size()<=10) {
n = HistoriqueHorodate.size();
}
for(int i = 0; i<n;i++) {
String exp = HistoriqueHorodate.get(i).getSource().toString();
String payload = HistoriqueHorodate.get(i).getMessage();
System.out.println(exp+" : "+payload);
}
}
}

View file

@ -24,9 +24,9 @@ public class MessageHorodate {
* </p>
*/
public MessageHorodate(Utilisateur destinataire, Utilisateur source, String Message, int type) {
this.destinataire = destinataire ;
this.source = source ;
this.Message = Message ;
this.setDestinataire(destinataire) ;
this.setSource(source) ;
this.setMessage(Message) ;
this.dateHorodatage = new Date();
this.type = type;
}
@ -44,11 +44,11 @@ public class MessageHorodate {
@Override
public String toString() {
String Msg = "";
Msg += ("Destinataire:" + this.destinataire + "\n") ;
Msg += ("Source:" + this.source+ "\n") ;
Msg += ("Destinataire:" + this.getDestinataire() + "\n") ;
Msg += ("Source:" + this.getSource()+ "\n") ;
Msg += ("Type:"+ this.type+ "\n");
Msg += ("Date:" + this.dateToString() + "\n") ;
Msg += ("Message:" + this.Message + "\n" );
Msg += ("Message:" + this.getMessage() + "\n" );
return Msg ;
}
@ -94,4 +94,36 @@ public class MessageHorodate {
return mh ;
}
public Utilisateur getSource() {
return source;
}
public void setSource(Utilisateur source) {
this.source = source;
}
public Utilisateur getDestinataire() {
return destinataire;
}
public void setDestinataire(Utilisateur destinataire) {
this.destinataire = destinataire;
}
public String getMessage() {
return Message;
}
public void setMessage(String message) {
Message = message;
}
public int getType() {
return type;
}
public void setType(int Type) {
this.type = type;
}
}

View file

@ -95,10 +95,21 @@ class RunnerTCPEnvoi implements Runnable {
String msg;
while(true){
msg = sc.nextLine();
if(msg.equals("--STOP--")) {
MessageHorodate mh = new MessageHorodate(Destinataire,app.getMe(),msg,0);
break;
}
MessageHorodate mh = new MessageHorodate(Destinataire,app.getMe(),msg,1);
out.println(msg);
out.println(mh);
out.flush();
}
try {
System.out.println("Fermeture du thread d'envoi");
in.close();
link.close();
}catch(Exception e) {
// Gestion de l'exception de la fermeture de la socket
}
}
}
@ -120,30 +131,51 @@ class RunnerTCPEcoute implements Runnable {
//InputStream is = link.getInputStream();
BufferedReader in = new BufferedReader (new InputStreamReader (link.getInputStream()));
String line = in.readLine();
String line = "";
String dest = "";
String src = "";
String type = "";
String date = "";
String payload = "";
String msg = "";
while (line != null) {
//if(!msg.equals("")) {
System.out.println("Received: "+ line);
line = in.readLine();
//}
/*if((line.split(" ")[0].equals("Destinataire"))) {
if(msg != "") {
if(line.split(":")[0].equals("Destinataire")) {
if(msg.equals("")) {
dest = line+"\n";
}
else {
msg=dest+src+type+date+payload;
payload = "";
MessageHorodate mh = MessageHorodate.stringToMessageHorodate(msg);
// on ajoute le msg à son historique
Historique h = app.getHist(mh.);
if(mh.getType()==1) {
Historique h = app.getHist(mh.getSource().getPseudo());
h.addMessage(mh);
// on update la liste des historiques de app
app.majHistorique(User2.getPseudo(), h);
app.majHistorique(mh.getSource().getPseudo(), h);
}
else {
break;
}
}
}*/
// On recree un messagehorodate à partir du message reçu
}
else if(line.split(":")[0].equals("Source")) {
src = line+"\n";
}
else if(line.split(":")[0].equals("Type")) {
type = line+"\n";
}
else if(line.split(":")[0].equals("Date")) {
date = line+"\n";
}
else {
payload += line+"\n";
}
System.out.println("Received: "+ line);
// on ajoute le msg à son historique
// on update la liste des historiques de app
}
System.out.println("Finishing thread");

View file

@ -77,7 +77,7 @@ public class UDPEchange {
}
}
}
} catch (SocketException e) {
} catch (Exception e) {
System.out.println("unable to get current IP " + e.getMessage());
}
return null;

View file

@ -60,7 +60,7 @@ public class Utilisateur extends Object {
id=mots[10];
Utilisateur user = null;
try {
user = new Utilisateur(name,port,InetAddress.getByName(ip.split("/")[0]));
user = new Utilisateur(name,port,InetAddress.getByName(ip.split("/")[1]));
} catch (UnknownHostException e) {
e.printStackTrace();
}