Problème avec les Sockets

cs_hisse Messages postés 1 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 22 mars 2006 - 22 mars 2006 à 17:34
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 - 22 mars 2006 à 17:58
import java.net.*;
import java.io.*;


public class Client extends Thread{
Socket socket;
BufferedReader in;
PrintWriter out;

public Client(){
try{
socket=new Socket("localhost",1234);
out=new PrintWriter(socket.getOutputStream(),true);
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
catch(IOException e){
System.out.println("erreur dans le constructeur du client");
}
this.start();
}

public void run(){
try{
String message=in.readLine();
System.out.println(message);

socket.close();
}
catch(IOException e){
System.out.println("erreur dans la methode run du client");
}
}
public static void main(String args[]){
new Client();
}
}

********************************************************************************

import java.net.*;
import java.io.*;


public class Server extends Thread{
ServerSocket server=null;
Socket socket=null;

public Server(){
try{
server=new ServerSocket(1234);
System.out.println("Serveur en attente...");

}
catch(IOException e){
System.out.println("erreur dans le constructeur du serveur");
}
this.start();
}

public void run(){
try{
while(true){
socket=server.accept();
System.out.println("Client connecte...");

new Connexion(socket);

System.out.println("Fin...");

socket.close();
}
}
catch(IOException e){
System.out.println("erreur dans la methode run du serveur");
}
}

public static void main(String args[]){
new Server();
}
}

*************************************************************************

import java.net.*;
import java.io.*;


public class Connexion extends Thread{
Socket socket;
BufferedReader in;
PrintWriter out;

public Connexion(Socket socket){
try{
this.socket=socket;

in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(socket.getOutputStream());
}
catch(IOException e){
System.out.println("erreur dans le constructeur de Connexion");
}
this.start();
}

public void run(){
String message=("Mon message");
out.println(message);
out.flush();
}
}

voila je comprend pas pourquoi quand j'éxecute ce programme , j'ai null qui s'affiche alors que théoriquement je devrais avoir Mon message d'affiché

2 réponses

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
22 mars 2006 à 17:43
en meme temps si tu mettez juste le morceau de code qui declenche l'exception ca serait peut etre un peu mieu...

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
22 mars 2006 à 17:58
Salut

essaie plutot ca :

String msg;

while((msg = in.readLine()) != null) {

//traitement

}

dans le run du client



Voila

A++
0
Rejoignez-nous