Java - Écouter un socket avec ObjectInputStream

Ok, donc , j'ai une classe thread appelé "Client" à chaque fois que le serveur accepte la connexion, il crée un nouveau Client....La méthode run de l'écoute des messages de la part du client et je suis a ObjectInputStream ..

   do {            
         ObjectInputStream in = null;

        try {
            in = new ObjectInputStream(socket.getInputStream());
            String message = (String) in.readObject();
            System.out.println(message);
            }
            catch (ClassNotFoundException ex) {
                isConnected = false;
                System.out.println("Progoramming Error");
            }
            catch (IOException ex) {
                isConnected = false;
                System.out.println("Server ShutDown");
                System.exit(0);
            }
    } while(isConnected);

Le Problème que j'ai c'est que pourquoi dois-je créer un nouveau ObjectInputStream chaque fois qu'il fait une boucle...et si je ferme le flux d'entrée à la fin de la boucle et en boucle à nouveau pour un autre message, je vais avoir une erreur...s'il vous Plaît quelqu'un de l'aide

Vous n'avez pas à, et vous ne devriez pas.
Et d'obtenir une ClassNotFoundException est ni une indication que vous n'êtes plus connecté, ni une erreur de programmation. Il indique un déploiement d'erreur.
Pourriez-vous passé quelles erreurs avez-vous et il serait également utile si vous avez affiché le code du client.
isConnected() n'est pas un test valide pour une connexion active. La connexion est en place jusqu'à ce que vous lisez la fin du flux, ou un IOException autres que SocketTimeoutException se produit.

OriginalL'auteur MurWade | 2011-08-11