bonjour,
j'ai fait un programme client serveur sur eclipse grâce aux socket afin de pouvoir communiquer entre deux pc via le même segment de réseau!!!
Le plus simple à vérifier déjà c'est d'envoyer des messages du client au serveur!!ça marche pas pour moi!!
Surement;il y aurait un concept que je n'ai pas bien saisi.
voila le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package ssm;
 
import java.io.*;
import java.net.*;
 
public class Client {
public static void main(String[] args) {
try {
Socket connexion = new Socket("192.168.50.101", 8254);
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream())); 
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
boolean continu = true;
while (true) {
String ligne = entree.readLine();
if (ligne != null) System.out.println(ligne);
 
if (!continu) break;
 ligne = clavier.readLine();
if (ligne.equalsIgnoreCase("quit")) continu = false;
if (ligne != null) sortie.println(ligne);
}
}
catch(IOException e) { System.out.println("Erreur : "+e); }
System.out.println("Connexion terminée...");
}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package ssm;
 
import java.io.*;
import java.net.Socket;
 
class ThreadConnexion extends Thread
{
 
private Socket connexion;
private int numero;
 
public ThreadConnexion(Socket connexion, int numero)
{
this.connexion = connexion;
this.numero = numero;
}
 
public void run()
{
try
{
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
sortie.println("Bonjour, Bienvenu sur mon serveur, tapez quit pour sortir");
boolean continuer = true;
while(continuer)
{
String ligne = entree.readLine();
if(ligne == null)
{
continuer = false;
} else
{
sortie.println("Echo ("+numero+") : "+ligne);
if(ligne.equalsIgnoreCase("quit"))
continuer = false;
}
}
connexion.close();
}
catch(IOException e)
{
System.err.println(e);
}
}
 
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package ssm;
 
 
 
import java.io.*;
import java.net.*;
 
public class ThreadServer{
 
public static void main(String[] args) throws Exception {
 
final int PORT = 8254;
int numero=1;
try{
ServerSocket service= new ServerSocket(PORT);
while(true) {
Socket connexion = service.accept();
new ThreadConnexion(connexion, numero++).start(); }
}
catch(IOException e) {
System.out.println("Erreur : "+e);
}
} }
voila tout.