tcpmessage
This commit is contained in:
parent
0199595cc8
commit
6bef5f9150
6 changed files with 82 additions and 42 deletions
2
Application/Clavardage/bin/.gitignore
vendored
2
Application/Clavardage/bin/.gitignore
vendored
|
@ -1,2 +1,4 @@
|
||||||
/UserListeningThreadTCP.class
|
/UserListeningThreadTCP.class
|
||||||
/UserListeningThreadUDP.class
|
/UserListeningThreadUDP.class
|
||||||
|
/UserConnexionthreadTCP.class
|
||||||
|
/Database.class
|
||||||
|
|
Binary file not shown.
9
Application/Clavardage/src/Database.java
Normal file
9
Application/Clavardage/src/Database.java
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
public class Database {
|
||||||
|
private User myUser;
|
||||||
|
|
||||||
|
public void Database() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -194,6 +194,7 @@ public class User{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
String input;
|
String input;
|
||||||
|
System.out.println(this.getPseudo()+" reçoit un message");
|
||||||
try {
|
try {
|
||||||
while (!(input=in.readLine()).equals("end")) {
|
while (!(input=in.readLine()).equals("end")) {
|
||||||
System.out.print("client_recoit:"+input);
|
System.out.print("client_recoit:"+input);
|
||||||
|
@ -423,9 +424,9 @@ public class User{
|
||||||
public static void main(String[] args) throws IOException, InterruptedException {
|
public static void main(String[] args) throws IOException, InterruptedException {
|
||||||
|
|
||||||
// Création des utilisateurs
|
// Création des utilisateurs
|
||||||
User usr2 = new User(12222,portUDPlistening_remoteUsr2,22222,"Mike"); // simulation d'un utilisateur distant n1
|
User usr2 = new User(12226,portUDPlistening_remoteUsr2,22222,"Mike"); // simulation d'un utilisateur distant n1
|
||||||
User usr3 = new User(12223,portUDPlistening_remoteUsr3,22223,"Alice"); // simulation d'un utilisateur distant n2
|
User usr3 = new User(12224,portUDPlistening_remoteUsr3,22223,"Alice"); // simulation d'un utilisateur distant n2
|
||||||
User usr1 = new User(12221,20001,22221); // Notre utilisateur local
|
User usr1 = new User(12225,20001,22221); // Notre utilisateur local
|
||||||
|
|
||||||
// Fonction appelé par notre utilisateur local
|
// Fonction appelé par notre utilisateur local
|
||||||
usr1.getOneActiveUser();
|
usr1.getOneActiveUser();
|
||||||
|
|
55
Application/Clavardage/src/UserConnexionthreadTCP.java
Normal file
55
Application/Clavardage/src/UserConnexionthreadTCP.java
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
|
import java.net.Socket;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class UserConnexionthreadTCP extends Thread{
|
||||||
|
private User myUser;
|
||||||
|
private Socket socket;
|
||||||
|
|
||||||
|
public UserConnexionthreadTCP(String s,User user,Socket socket) {
|
||||||
|
super(s);
|
||||||
|
this.myUser = user;
|
||||||
|
this.socket=socket;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
Socket link = this.socket;
|
||||||
|
try {
|
||||||
|
BufferedReader in =new BufferedReader(new InputStreamReader(link.getInputStream()));
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
PrintWriter out=null;
|
||||||
|
try {
|
||||||
|
out = new PrintWriter(link.getOutputStream(),true);
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||||
|
Date date = new Date();
|
||||||
|
System.out.println(myUser.getPseudo()+" envoie un message");
|
||||||
|
out.println(dateFormat.format(date));
|
||||||
|
out.println("end");
|
||||||
|
String input;
|
||||||
|
/*while (!(input=in.readLine()).equals("end")) {
|
||||||
|
System.out.print("server_recoit:"+input);
|
||||||
|
}*/
|
||||||
|
try {
|
||||||
|
link.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -15,7 +15,7 @@ import java.util.Date;
|
||||||
public class UserListeningThreadTCP extends Thread{
|
public class UserListeningThreadTCP extends Thread{
|
||||||
|
|
||||||
private User myUser;
|
private User myUser;
|
||||||
private DatagramSocket dgramSocket=null;
|
//private DatagramSocket dgramSocket=null;
|
||||||
|
|
||||||
/* CONSTRUCTOR OF UserListeningThreadTCP
|
/* CONSTRUCTOR OF UserListeningThreadTCP
|
||||||
* $parametres
|
* $parametres
|
||||||
|
@ -27,13 +27,20 @@ public class UserListeningThreadTCP extends Thread{
|
||||||
public UserListeningThreadTCP(String s,User user) {
|
public UserListeningThreadTCP(String s,User user) {
|
||||||
super(s);
|
super(s);
|
||||||
this.myUser = user;
|
this.myUser = user;
|
||||||
try {
|
/* try {
|
||||||
this.dgramSocket = new DatagramSocket(this.myUser.getPortTCP(),this.myUser.getAddIP());
|
this.dgramSocket = new DatagramSocket(this.myUser.getPortTCP(),this.myUser.getAddIP());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void accept(ServerSocket servSocket) throws IOException {
|
||||||
|
|
||||||
|
UserConnexionthreadTCP threadtcp= new UserConnexionthreadTCP("Chat_with_"+myUser.getPseudo(),myUser,servSocket.accept());
|
||||||
|
threadtcp.start();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,49 +62,15 @@ public class UserListeningThreadTCP extends Thread{
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
Socket link=null;
|
|
||||||
try {
|
|
||||||
link = servSocket.accept();
|
|
||||||
} catch (IOException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
BufferedReader in =new BufferedReader(new InputStreamReader(link.getInputStream()));
|
|
||||||
} catch (IOException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
PrintWriter out=null;
|
|
||||||
try {
|
|
||||||
out = new PrintWriter(link.getOutputStream(),true);
|
|
||||||
} catch (IOException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
out.println("awaiting data...");
|
|
||||||
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
|
||||||
Date date = new Date();
|
|
||||||
|
|
||||||
out.println(dateFormat.format(date));
|
|
||||||
out.println("end");
|
|
||||||
String input;
|
|
||||||
/*while (!(input=in.readLine()).equals("end")) {
|
|
||||||
System.out.print("server_recoit:"+input);
|
|
||||||
}*/
|
|
||||||
try {
|
try {
|
||||||
link.close();
|
this.accept(servSocket);
|
||||||
} catch (IOException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
servSocket.close();
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -108,7 +81,7 @@ public class UserListeningThreadTCP extends Thread{
|
||||||
* interrupt UDP listening threadS
|
* interrupt UDP listening threadS
|
||||||
*/
|
*/
|
||||||
public void close() {
|
public void close() {
|
||||||
this.dgramSocket.close();
|
// this.dgramSocket.close();
|
||||||
System.out.println("End of listing thread TCP ("+this.myUser.getPseudo()+")");
|
System.out.println("End of listing thread TCP ("+this.myUser.getPseudo()+")");
|
||||||
try {
|
try {
|
||||||
this.interrupt();
|
this.interrupt();
|
||||||
|
|
Loading…
Reference in a new issue