Je n'ai pas encore de client, donc je teste mon server avec telnet
(telnet localhost 12345).
La connection se fait correctement, mais quand je rentre du texte avec
telnet et appuie sur "entrée", le serveur crée bien output, flush
output, mais une bute sur input = new
ObjectInputStream(connection.getInputStream()); et ferme la connection.
Puis message d'erreur: java.lang.NullPointerException pour input.close();
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
nioubi
julien wrote:
Je n'ai pas encore de client, donc je teste mon server avec telnet (telnet localhost 12345). Bonjour,
le probleme c'est que tu utilises des flux objets qui exigent leur propre format (cf serialisation) alors que telnet discute en mode texte.
La connection se fait correctement, mais quand je rentre du texte avec telnet et appuie sur "entrée", le serveur crée bien output, flush output, mais une bute sur input = new ObjectInputStream(connection.getInputStream()); et ferme la connection. Puis message d'erreur: java.lang.NullPointerException pour input.close();
2 solutions : soit utiliser des flux Reader et Writer pour du texte mais ça ne semble pas être le but, soit avoir des 2 côtés des flux objet.
Un mini exemple de couple client serveur avec des flux objets :
public class Serv { public static void main(String argv[]) { try { ServerSocket serverSock = new ServerSocket(12345); Socket s = serverSock.accept();
ObjectOutputStream output = new ObjectOutputStream(s.getOutputStream()); ObjectInputStream input = new ObjectInputStream(s.getInputStream()); output.writeObject("Welcome to the file server!"); output.flush();
String str = (String)input.readObject(); System.out.println("serv a recu: "+str);
Je n'ai pas encore de client, donc je teste mon server avec telnet
(telnet localhost 12345).
Bonjour,
le probleme c'est que tu utilises des flux objets qui exigent leur
propre format (cf serialisation) alors que telnet discute en mode texte.
La connection se fait correctement, mais quand je rentre du texte avec
telnet et appuie sur "entrée", le serveur crée bien output, flush
output, mais une bute sur input = new
ObjectInputStream(connection.getInputStream()); et ferme la connection.
Puis message d'erreur: java.lang.NullPointerException pour input.close();
2 solutions : soit utiliser des flux Reader et Writer pour du texte
mais ça ne semble pas être le but, soit avoir des 2 côtés des flux objet.
Un mini exemple de couple client serveur avec des flux objets :
public class Serv {
public static void main(String argv[]) {
try {
ServerSocket serverSock = new ServerSocket(12345);
Socket s = serverSock.accept();
ObjectOutputStream output = new
ObjectOutputStream(s.getOutputStream());
ObjectInputStream input = new ObjectInputStream(s.getInputStream());
output.writeObject("Welcome to the file server!");
output.flush();
String str = (String)input.readObject();
System.out.println("serv a recu: "+str);
Je n'ai pas encore de client, donc je teste mon server avec telnet (telnet localhost 12345). Bonjour,
le probleme c'est que tu utilises des flux objets qui exigent leur propre format (cf serialisation) alors que telnet discute en mode texte.
La connection se fait correctement, mais quand je rentre du texte avec telnet et appuie sur "entrée", le serveur crée bien output, flush output, mais une bute sur input = new ObjectInputStream(connection.getInputStream()); et ferme la connection. Puis message d'erreur: java.lang.NullPointerException pour input.close();
2 solutions : soit utiliser des flux Reader et Writer pour du texte mais ça ne semble pas être le but, soit avoir des 2 côtés des flux objet.
Un mini exemple de couple client serveur avec des flux objets :
public class Serv { public static void main(String argv[]) { try { ServerSocket serverSock = new ServerSocket(12345); Socket s = serverSock.accept();
ObjectOutputStream output = new ObjectOutputStream(s.getOutputStream()); ObjectInputStream input = new ObjectInputStream(s.getInputStream()); output.writeObject("Welcome to the file server!"); output.flush();
String str = (String)input.readObject(); System.out.println("serv a recu: "+str);