Version OK serveur prend en compte crash et présence
This commit is contained in:
parent
67437407a8
commit
6470451686
38 changed files with 106 additions and 405 deletions
|
@ -23,6 +23,7 @@ dependencies {
|
||||||
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
|
testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
|
||||||
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
|
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
|
||||||
|
//implementation files('build/libs/Clavardage-1.0.jar')
|
||||||
}
|
}
|
||||||
|
|
||||||
test {
|
test {
|
||||||
|
|
BIN
build/classes/java/main/app/insa/clav/Core/Utilisateurs.class
Normal file
BIN
build/classes/java/main/app/insa/clav/Core/Utilisateurs.class
Normal file
Binary file not shown.
BIN
build/classes/java/main/app/insa/clav/Messages/Message.class
Normal file
BIN
build/classes/java/main/app/insa/clav/Messages/Message.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
build/libs/Clavardage-1.0.jar
Normal file
BIN
build/libs/Clavardage-1.0.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,30 +1,20 @@
|
||||||
com/example/ServeurClavardage/Messages/MessageInit.java
|
app/insa/clav/Messages/MessagePseudo.java
|
||||||
com.example.ServeurClavardage.Messages.MessageInit
|
app.insa.clav.Messages.MessagePseudo
|
||||||
com/example/ServeurClavardage/Messages/MessageDisplayFile.java
|
app/insa/clav/Messages/Message.java
|
||||||
com.example.ServeurClavardage.Messages.MessageDisplayFile
|
app.insa.clav.Messages.Message
|
||||||
com/example/ServeurClavardage/Messages/MessageDisplay.java
|
|
||||||
com.example.ServeurClavardage.Messages.MessageDisplay
|
|
||||||
com/example/ServeurClavardage/Messages/MessagePseudo.java
|
|
||||||
com.example.ServeurClavardage.Messages.MessagePseudo
|
|
||||||
com/example/ServeurClavardage/Messages/MessageChatFile.java
|
|
||||||
com.example.ServeurClavardage.Messages.MessageChatFile
|
|
||||||
com/example/ServeurClavardage/Utilisateurs.java
|
|
||||||
com.example.ServeurClavardage.Utilisateurs
|
|
||||||
com/example/ServeurClavardage/Messages/Message.java
|
|
||||||
com.example.ServeurClavardage.Messages.Message
|
|
||||||
com/example/ServeurClavardage/GetOutdoorUsers.java
|
|
||||||
com.example.ServeurClavardage.GetOutdoorUsers
|
|
||||||
com/example/ServeurClavardage/SharedInformation.java
|
|
||||||
com.example.ServeurClavardage.SharedInformation
|
|
||||||
com/example/ServeurClavardage/Messages/MessageChatTxt.java
|
|
||||||
com.example.ServeurClavardage.Messages.MessageChatTxt
|
|
||||||
com/example/ServeurClavardage/GetAllUsers.java
|
com/example/ServeurClavardage/GetAllUsers.java
|
||||||
com.example.ServeurClavardage.GetAllUsers
|
com.example.ServeurClavardage.GetAllUsers
|
||||||
com/example/ServeurClavardage/SubmitConnectionOutdoor.java
|
com/example/ServeurClavardage/GetOutdoorUsers.java
|
||||||
com.example.ServeurClavardage.SubmitConnectionOutdoor
|
com.example.ServeurClavardage.GetOutdoorUsers
|
||||||
com/example/ServeurClavardage/SubmitConnectionIndoor.java
|
|
||||||
com.example.ServeurClavardage.SubmitConnectionIndoor
|
|
||||||
com/example/ServeurClavardage/SubmitDeconnectionIndoor.java
|
com/example/ServeurClavardage/SubmitDeconnectionIndoor.java
|
||||||
com.example.ServeurClavardage.SubmitDeconnectionIndoor
|
com.example.ServeurClavardage.SubmitDeconnectionIndoor
|
||||||
|
com/example/ServeurClavardage/SubmitConnectionOutdoor.java
|
||||||
|
com.example.ServeurClavardage.SubmitConnectionOutdoor
|
||||||
com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java
|
com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java
|
||||||
com.example.ServeurClavardage.SubmitDeconnectionOutdoor
|
com.example.ServeurClavardage.SubmitDeconnectionOutdoor
|
||||||
|
com/example/ServeurClavardage/SharedInformation.java
|
||||||
|
com.example.ServeurClavardage.SharedInformation
|
||||||
|
com/example/ServeurClavardage/SubmitConnectionIndoor.java
|
||||||
|
com.example.ServeurClavardage.SubmitConnectionIndoor
|
||||||
|
app/insa/clav/Core/Utilisateurs.java
|
||||||
|
app.insa.clav.Core.Utilisateurs
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.example.ServeurClavardage;
|
package app.insa.clav.Core;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.net.*;
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,26 +10,20 @@ public class Utilisateurs implements Comparable{
|
||||||
private String pseudo;
|
private String pseudo;
|
||||||
private InetAddress inetAddress;
|
private InetAddress inetAddress;
|
||||||
private int id;
|
private int id;
|
||||||
private int port;
|
|
||||||
private String login;
|
private String login;
|
||||||
private boolean isOutdoor;
|
private boolean isOutdoor;
|
||||||
|
private Date lastUpdate;
|
||||||
|
private int tcpListeningPort;
|
||||||
|
|
||||||
public Date getLatestUpdate() {
|
|
||||||
return latestUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLatestUpdate(Date latestUpdate) {
|
public Utilisateurs(String pseudo, InetAddress inetAddress, int id, int tcpListeningPort) {
|
||||||
this.latestUpdate = latestUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Date latestUpdate;
|
|
||||||
|
|
||||||
public Utilisateurs(String pseudo, InetAddress inetAddress, int id, int port, boolean isOutdoor) {
|
|
||||||
this.pseudo = pseudo;
|
this.pseudo = pseudo;
|
||||||
this.inetAddress = inetAddress;
|
this.inetAddress = inetAddress;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.port = port;
|
this.tcpListeningPort = tcpListeningPort;
|
||||||
this.isOutdoor = isOutdoor;
|
this.isOutdoor = true;
|
||||||
|
this.lastUpdate = new Date();
|
||||||
|
System.out.println("Date du jour " + this.lastUpdate.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPseudo(String pseudo) {
|
public void setPseudo(String pseudo) {
|
||||||
|
@ -45,8 +38,8 @@ public class Utilisateurs implements Comparable{
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPort(int port) {
|
public void setTcpListeningPort(int tcpListeningPort) {
|
||||||
this.port = port;
|
this.tcpListeningPort = tcpListeningPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPseudo() {
|
public String getPseudo() {
|
||||||
|
@ -61,11 +54,10 @@ public class Utilisateurs implements Comparable{
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPort() {
|
public String getLogin() {
|
||||||
return port;
|
return login;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isOutdoor() {
|
public boolean isOutdoor() {
|
||||||
return isOutdoor;
|
return isOutdoor;
|
||||||
}
|
}
|
||||||
|
@ -74,13 +66,39 @@ public class Utilisateurs implements Comparable{
|
||||||
isOutdoor = outdoor;
|
isOutdoor = outdoor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLogin(String login) {
|
||||||
|
this.login = login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTcpListeningPort() {
|
||||||
|
return tcpListeningPort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update() {
|
||||||
|
this.lastUpdate = new Date();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean userToOld(Date date) {
|
||||||
|
System.out.println("Local Date : " + this.lastUpdate.toString());
|
||||||
|
System.out.println("Local time : " + this.lastUpdate.getTime());
|
||||||
|
System.out.println("Remote Date : " + date.toString());
|
||||||
|
System.out.println("Remote Time : " + date.getTime());
|
||||||
|
return (date.getTime() - this.lastUpdate.getTime() > 4000);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return Integer.toString(this.id) + "|" + this.pseudo + "|" + this.inetAddress.toString() + "|" + Integer.toString(this.port);
|
return "Utilisateurs{" +
|
||||||
|
"pseudo='" + pseudo + '\'' +
|
||||||
|
", inetAddress=" + inetAddress +
|
||||||
|
", id=" + id +
|
||||||
|
", login='" + login + '\'' +
|
||||||
|
", isOutdoor=" + isOutdoor +
|
||||||
|
", lastUpdate=" + lastUpdate +
|
||||||
|
", tcpListeningPort=" + tcpListeningPort +
|
||||||
|
'}';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
Utilisateurs aux = (Utilisateurs) obj;
|
Utilisateurs aux = (Utilisateurs) obj;
|
||||||
|
@ -92,12 +110,4 @@ public class Utilisateurs implements Comparable{
|
||||||
Utilisateurs u = (Utilisateurs) o;
|
Utilisateurs u = (Utilisateurs) o;
|
||||||
return this.pseudo.compareTo(u.pseudo);
|
return this.pseudo.compareTo(u.pseudo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLogin() {
|
|
||||||
return login;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLogin(String login) {
|
|
||||||
this.login = login;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
package app.insa.clav.Messages;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
@ -32,9 +32,6 @@ public class Message implements Serializable {
|
||||||
*/
|
*/
|
||||||
public int typeMessage;
|
public int typeMessage;
|
||||||
public InetAddress srcIP;
|
public InetAddress srcIP;
|
||||||
public int srcResponsePort; //Seulement besoin car on teste en localHost
|
|
||||||
public InetAddress destIP; //Seulement pour UDP ou ouverture CO TCP
|
|
||||||
public int destPort; //Seulement pour UDP ou l'ouverture connexion TCP, sinon à 0.
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur d'un message depuis un autre
|
* Constructeur d'un message depuis un autre
|
||||||
|
@ -43,9 +40,6 @@ public class Message implements Serializable {
|
||||||
public Message(Message msg){
|
public Message(Message msg){
|
||||||
this.typeMessage = msg.typeMessage;
|
this.typeMessage = msg.typeMessage;
|
||||||
this.srcIP = msg.srcIP;
|
this.srcIP = msg.srcIP;
|
||||||
this.srcResponsePort = msg.srcResponsePort;
|
|
||||||
this.destIP = msg.destIP;
|
|
||||||
this.destPort = msg.destPort;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -56,18 +50,9 @@ public class Message implements Serializable {
|
||||||
*
|
*
|
||||||
* @param srcIP
|
* @param srcIP
|
||||||
* IP depuis laquelle le msg à été envoyé
|
* IP depuis laquelle le msg à été envoyé
|
||||||
* @param srcResponsePort
|
|
||||||
* Port à utiliser pour répondre à ce message
|
|
||||||
* @param destIP
|
|
||||||
* Ip de la machine destinataire
|
|
||||||
* @param destPort
|
|
||||||
* Port de la machine destinataire
|
|
||||||
*/
|
*/
|
||||||
public Message(int typeMessage,InetAddress srcIP, int srcResponsePort,InetAddress destIP,int destPort){
|
public Message(int typeMessage,InetAddress srcIP){
|
||||||
this.typeMessage = typeMessage;
|
this.typeMessage = typeMessage;
|
||||||
this.srcIP = srcIP;
|
this.srcIP = srcIP;
|
||||||
this.srcResponsePort = srcResponsePort;
|
|
||||||
this.destIP = destIP;
|
|
||||||
this.destPort = destPort;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
package app.insa.clav.Messages;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
||||||
|
@ -18,36 +18,37 @@ public class MessagePseudo extends Message {
|
||||||
* id de l'utilidateur source du message
|
* id de l'utilidateur source du message
|
||||||
*/
|
*/
|
||||||
public int id;
|
public int id;
|
||||||
|
/**
|
||||||
|
* nport d'ecoute TCP
|
||||||
|
*/
|
||||||
|
public int portEcouteTCP;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créé un message à partir des info.
|
* Créé un message à partir des info.
|
||||||
* @see Message
|
* @see Message
|
||||||
* @param typeMessage
|
* @param typeMessage
|
||||||
* @param srcIP
|
* @param srcIP
|
||||||
* @param srcPort
|
|
||||||
* @param destIP
|
|
||||||
* @param destPort
|
|
||||||
* @param pseudo
|
* @param pseudo
|
||||||
|
* @param portEcouteTCP
|
||||||
* @param id
|
* @param id
|
||||||
*/
|
*/
|
||||||
public MessagePseudo(int typeMessage, InetAddress srcIP, int srcPort, InetAddress destIP, int destPort, String pseudo, int id) {
|
public MessagePseudo(int typeMessage, InetAddress srcIP, String pseudo, int portEcouteTCP, int id) {
|
||||||
super(typeMessage, srcIP, srcPort, destIP, destPort);
|
super(typeMessage, srcIP);
|
||||||
this.pseudo = pseudo;
|
this.pseudo = pseudo;
|
||||||
|
this.portEcouteTCP = portEcouteTCP;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Crée un message à partir d'un message de base
|
public String toString() {
|
||||||
* @see Message
|
return "MessagePseudo{" +
|
||||||
* @param msg
|
"typeMessage=" + typeMessage +
|
||||||
* @param id
|
", srcIP=" + srcIP +
|
||||||
* @param pseudo
|
", pseudo='" + pseudo + '\'' +
|
||||||
*/
|
", id=" + id +
|
||||||
//Create Messages.MessagePseudo from Messages.Message
|
", portEcouteTCP=" + portEcouteTCP +
|
||||||
public MessagePseudo(Message msg, int id, String pseudo){
|
"} " + super.toString();
|
||||||
super(msg);
|
|
||||||
this.pseudo = pseudo;
|
|
||||||
this.id = id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,15 +1,16 @@
|
||||||
package com.example.ServeurClavardage;
|
package com.example.ServeurClavardage;
|
||||||
|
|
||||||
import java.io.*;
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import javax.servlet.http.*;
|
|
||||||
import javax.servlet.annotation.*;
|
|
||||||
|
|
||||||
import com.example.ServeurClavardage.Messages.MessagePseudo;
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
import javax.servlet.annotation.WebServlet;
|
||||||
|
import javax.servlet.http.HttpServlet;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@WebServlet(name = "getAllUsers", value = "/getAllUsers")
|
@WebServlet(name = "getAllUsers", value = "/getAllUsers")
|
||||||
public class GetAllUsers extends HttpServlet {
|
public class GetAllUsers extends HttpServlet {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.util.ArrayList;
|
||||||
import javax.servlet.http.*;
|
import javax.servlet.http.*;
|
||||||
import javax.servlet.annotation.*;
|
import javax.servlet.annotation.*;
|
||||||
|
|
||||||
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
|
||||||
|
|
||||||
import java.net.InetAddress;
|
|
||||||
|
|
||||||
public class MessageChatFile extends MessageChatTxt{
|
|
||||||
|
|
||||||
public long fileSize;
|
|
||||||
public String ext;
|
|
||||||
|
|
||||||
public MessageChatFile(Message msg, String payload, String date, long fileSize, String ext) {
|
|
||||||
super(msg, payload, date);
|
|
||||||
this.fileSize = fileSize;
|
|
||||||
this.ext = ext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MessageChatFile(int typeMessage, InetAddress srcIP, int srcResponsePort, InetAddress destIP, int destPort, String payload, String date, long fileSize, String ext) {
|
|
||||||
super(typeMessage, srcIP, srcResponsePort, destIP, destPort, payload, date);
|
|
||||||
this.fileSize = fileSize;
|
|
||||||
this.ext = ext;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
|
||||||
|
|
||||||
import java.net.InetAddress;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Messages texte dans un chat
|
|
||||||
*/
|
|
||||||
//Message de type 6
|
|
||||||
public class MessageChatTxt extends Message{
|
|
||||||
|
|
||||||
public String payload;
|
|
||||||
public String date;
|
|
||||||
|
|
||||||
|
|
||||||
public MessageChatTxt(Message msg, String payload, String date) {
|
|
||||||
super(msg);
|
|
||||||
this.payload = payload;
|
|
||||||
this.date = date;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MessageChatTxt(int typeMessage, InetAddress srcIP, int srcResponsePort, InetAddress destIP, int destPort, String payload, String date) {
|
|
||||||
super(typeMessage, srcIP, srcResponsePort, destIP, destPort);
|
|
||||||
this.payload = payload;
|
|
||||||
this.date = date;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,61 +0,0 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Element of the list that contains the history of messages returned by the DB
|
|
||||||
*/
|
|
||||||
public class MessageDisplay {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private int sourceId;
|
|
||||||
private String date;
|
|
||||||
private String payload;
|
|
||||||
/**
|
|
||||||
* Type 1 --> Normal text message
|
|
||||||
* Type 2 --> File message not image
|
|
||||||
* Type 3 --> Image file (png, jpg, gif, jpeg, svg)
|
|
||||||
*/
|
|
||||||
private int type;
|
|
||||||
|
|
||||||
public MessageDisplay(int sourceId, String date, String payload,int type) {
|
|
||||||
this.sourceId = sourceId;
|
|
||||||
this.date = date;
|
|
||||||
this.payload = payload;
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MessageDisplay(){}
|
|
||||||
|
|
||||||
public int getSourceId() {
|
|
||||||
return sourceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSourceId(int sourceId) {
|
|
||||||
this.sourceId = sourceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDate() {
|
|
||||||
return date;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDate(String date) {
|
|
||||||
this.date = date;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(String payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(int type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class MessageDisplayFile extends MessageDisplay{
|
|
||||||
|
|
||||||
private File file;
|
|
||||||
private String ext;
|
|
||||||
private int DBId;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public MessageDisplayFile(int sourceId, String date, String payload, int type, File file, String ext, int DBid) {
|
|
||||||
super(sourceId, date, payload, type);
|
|
||||||
this.file = file;
|
|
||||||
this.ext = ext;
|
|
||||||
this.DBId = DBid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MessageDisplayFile() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public File getFile() {
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFile(File file) {
|
|
||||||
this.file = file;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getExt() {
|
|
||||||
return ext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setExt(String ext) {
|
|
||||||
this.ext = ext;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getDBId() {
|
|
||||||
return DBId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDBId(int DBId) {
|
|
||||||
this.DBId = DBId;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
package com.example.ServeurClavardage.Messages;
|
|
||||||
|
|
||||||
import java.net.InetAddress;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Messaged sent when a user creates a chat room to identifies itself
|
|
||||||
*/
|
|
||||||
public class MessageInit extends Message{
|
|
||||||
|
|
||||||
public int id;
|
|
||||||
|
|
||||||
|
|
||||||
public MessageInit(int typeMessage, InetAddress srcIP, int srcResponsePort, InetAddress destIP, int destPort, int localId) {
|
|
||||||
super(typeMessage, srcIP, srcResponsePort, destIP, destPort);
|
|
||||||
this.id = localId;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.example.ServeurClavardage;
|
package com.example.ServeurClavardage;
|
||||||
|
|
||||||
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
|
@ -3,12 +3,11 @@ package com.example.ServeurClavardage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
|
||||||
import javax.servlet.http.*;
|
import javax.servlet.http.*;
|
||||||
import javax.servlet.annotation.*;
|
import javax.servlet.annotation.*;
|
||||||
|
|
||||||
import com.example.ServeurClavardage.Messages.Message;
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
import com.example.ServeurClavardage.Messages.MessagePseudo;
|
import app.insa.clav.Messages.MessagePseudo;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
@ -36,35 +35,7 @@ public class SubmitConnectionIndoor extends HttpServlet {
|
||||||
System.out.println(resp.toString());
|
System.out.println(resp.toString());
|
||||||
}
|
}
|
||||||
Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
||||||
System.out.println(newUser);
|
newUser.update();
|
||||||
for (Utilisateurs user : this.sh.getOutdoorUsersList()){
|
|
||||||
DatagramSocket socket = new DatagramSocket();
|
|
||||||
MessagePseudo msg = new MessagePseudo(4, newUser.getInetAddress(), newUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId());
|
|
||||||
try {
|
|
||||||
//Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest
|
|
||||||
byte[] buffer = "".getBytes();
|
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
|
||||||
try {
|
|
||||||
ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream);
|
|
||||||
objectOutStream.writeObject(msg);
|
|
||||||
objectOutStream.close();
|
|
||||||
buffer = byteOutStream.toByteArray();
|
|
||||||
} catch (IOException e1) {
|
|
||||||
System.out.println("Exception serialisation de l'objet envoi message");
|
|
||||||
}
|
|
||||||
//InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes());
|
|
||||||
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort);
|
|
||||||
socket.send(packet);
|
|
||||||
}
|
|
||||||
catch (UnknownHostException e){
|
|
||||||
System.out.println("Unknown host dans broadcast address");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
catch (IOException e){
|
|
||||||
System.out.println("IOException send pseudo");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.sh.addIndoorUser(newUser);
|
this.sh.addIndoorUser(newUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,14 +3,14 @@ package com.example.ServeurClavardage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
import java.net.DatagramSocket;
|
import java.net.DatagramSocket;
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import javax.servlet.http.*;
|
import javax.servlet.http.*;
|
||||||
import javax.servlet.annotation.*;
|
import javax.servlet.annotation.*;
|
||||||
|
|
||||||
import com.example.ServeurClavardage.Messages.MessagePseudo;
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
|
import app.insa.clav.Messages.MessagePseudo;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
@ -38,37 +38,9 @@ public class SubmitConnectionOutdoor extends HttpServlet {
|
||||||
System.out.println(resp.toString());
|
System.out.println(resp.toString());
|
||||||
}
|
}
|
||||||
Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
||||||
ArrayList<Utilisateurs> allUsers = new ArrayList<>(this.sh.getOutdoorUsersList());
|
newUser.update();
|
||||||
allUsers.addAll(this.sh.getIndoorUsersList());
|
|
||||||
for (Utilisateurs user : allUsers){
|
|
||||||
DatagramSocket socket = new DatagramSocket();
|
|
||||||
MessagePseudo msg = new MessagePseudo(4, newUser.getInetAddress(), newUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId());
|
|
||||||
try {
|
|
||||||
//Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest
|
|
||||||
byte[] buffer = "".getBytes();
|
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
|
||||||
try {
|
|
||||||
ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream);
|
|
||||||
objectOutStream.writeObject(msg);
|
|
||||||
objectOutStream.close();
|
|
||||||
buffer = byteOutStream.toByteArray();
|
|
||||||
} catch (IOException e1) {
|
|
||||||
System.out.println("Exception serialisation de l'objet envoi message");
|
|
||||||
}
|
|
||||||
//InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes());
|
|
||||||
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort);
|
|
||||||
socket.send(packet);
|
|
||||||
}
|
|
||||||
catch (UnknownHostException e){
|
|
||||||
System.out.println("Unknown host dans broadcast address");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
catch (IOException e){
|
|
||||||
System.out.println("IOException send pseudo");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.sh.addOutdoorUser(newUser);
|
this.sh.addOutdoorUser(newUser);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
|
|
|
@ -3,12 +3,11 @@ package com.example.ServeurClavardage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
|
||||||
import javax.servlet.http.*;
|
import javax.servlet.http.*;
|
||||||
import javax.servlet.annotation.*;
|
import javax.servlet.annotation.*;
|
||||||
|
|
||||||
import com.example.ServeurClavardage.Messages.Message;
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
import com.example.ServeurClavardage.Messages.MessagePseudo;
|
import app.insa.clav.Messages.MessagePseudo;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
@ -38,34 +37,6 @@ public class SubmitDeconnectionIndoor extends HttpServlet {
|
||||||
Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
||||||
this.sh.removeIndoorUser(disconnectedUser);
|
this.sh.removeIndoorUser(disconnectedUser);
|
||||||
System.out.println(disconnectedUser);
|
System.out.println(disconnectedUser);
|
||||||
for (Utilisateurs user : this.sh.getOutdoorUsersList()){
|
|
||||||
DatagramSocket socket = new DatagramSocket();
|
|
||||||
MessagePseudo msg = new MessagePseudo(7, disconnectedUser.getInetAddress(), disconnectedUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId());
|
|
||||||
try {
|
|
||||||
//Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest
|
|
||||||
byte[] buffer = "".getBytes();
|
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
|
||||||
try {
|
|
||||||
ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream);
|
|
||||||
objectOutStream.writeObject(msg);
|
|
||||||
objectOutStream.close();
|
|
||||||
buffer = byteOutStream.toByteArray();
|
|
||||||
} catch (IOException e1) {
|
|
||||||
System.out.println("Exception serialisation de l'objet envoi message");
|
|
||||||
}
|
|
||||||
//InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes());
|
|
||||||
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort);
|
|
||||||
socket.send(packet);
|
|
||||||
}
|
|
||||||
catch (UnknownHostException e){
|
|
||||||
System.out.println("Unknown host dans broadcast address");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
catch (IOException e){
|
|
||||||
System.out.println("IOException send pseudo");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
|
|
|
@ -3,14 +3,14 @@ package com.example.ServeurClavardage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
import java.net.DatagramSocket;
|
import java.net.DatagramSocket;
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import javax.servlet.http.*;
|
import javax.servlet.http.*;
|
||||||
import javax.servlet.annotation.*;
|
import javax.servlet.annotation.*;
|
||||||
|
|
||||||
import com.example.ServeurClavardage.Messages.MessagePseudo;
|
import app.insa.clav.Core.Utilisateurs;
|
||||||
|
import app.insa.clav.Messages.MessagePseudo;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
@ -38,37 +38,7 @@ public class SubmitDeconnectionOutdoor extends HttpServlet {
|
||||||
System.out.println(resp.toString());
|
System.out.println(resp.toString());
|
||||||
}
|
}
|
||||||
Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class);
|
||||||
this.sh.addOutdoorUser(disconnectedUser);
|
this.sh.removeOutdoorUser(disconnectedUser);
|
||||||
ArrayList<Utilisateurs> allUsers = new ArrayList<>(this.sh.getOutdoorUsersList());
|
|
||||||
allUsers.addAll(this.sh.getIndoorUsersList());
|
|
||||||
for (Utilisateurs user : allUsers){
|
|
||||||
DatagramSocket socket = new DatagramSocket();
|
|
||||||
MessagePseudo msg = new MessagePseudo(7, disconnectedUser.getInetAddress(), disconnectedUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId());
|
|
||||||
try {
|
|
||||||
//Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest
|
|
||||||
byte[] buffer = "".getBytes();
|
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
|
||||||
try {
|
|
||||||
ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream);
|
|
||||||
objectOutStream.writeObject(msg);
|
|
||||||
objectOutStream.close();
|
|
||||||
buffer = byteOutStream.toByteArray();
|
|
||||||
} catch (IOException e1) {
|
|
||||||
System.out.println("Exception serialisation de l'objet envoi message");
|
|
||||||
}
|
|
||||||
//InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes());
|
|
||||||
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort);
|
|
||||||
socket.send(packet);
|
|
||||||
}
|
|
||||||
catch (UnknownHostException e){
|
|
||||||
System.out.println("Unknown host dans broadcast address");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
catch (IOException e){
|
|
||||||
System.out.println("IOException send pseudo");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
|
|
Loading…
Reference in a new issue