Je n'arrive pas à comprendre pourquoi le code ci-dessous ne fonctionne pas. Le client envoie un message au serveur et le serveur imprime le message sur la sortie standard.Le client et le serveur Java simples n'interagissent pas correctement
Code pour le serveur:
import java.net.*;
import java.io.*;
import java.math.BigInteger;
public class server
{
public static void main(String args[])
{
try
{
ServerSocket server = new ServerSocket(8080);
while (true)
{
// initializations
Socket connection = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
PrintWriter out = new PrintWriter(connection.getOutputStream());
// listen for client message
String message = in.readLine();
// print raw message from client
System.out.println(message);
// close resources
if (out != null)
out.close();
if (in != null)
in.close();
if (connection != null)
connection.close();
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.exit(1);
}
}
}
Code pour le client:
import java.net.*;
import java.io.*;
import java.math.BigInteger;
public class client
{
public static void main(String args[])
{
try
{
// initializations
Socket connection = new Socket("localhost", 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
PrintWriter out = new PrintWriter(connection.getOutputStream());
// send message to server
out.println("Hello, world!");
// close resources
if (in != null)
in.close();
if (out != null)
out.close();
if (connection != null)
connection.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.exit(1);
}
}
}
Toute autre idée? Merci!
exactement ce qu'il est dit l'erreur ?? – Jorge
Il n'y a pas "erreur"; le code compile bien. Mais après avoir démarré le serveur puis le client, le serveur se bloque sans rien imprimer à la sortie standard. –
Se bloque où? Exécuter sous un débogueur ou ajouter des printlns pour savoir où? Le client s'exécute-t-il et se termine-t-il sans erreur? –