connexion entre deux pc via socket
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:
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:
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:
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.