ObjetctInputStream

0 respostas
gfuranku

Boa noite a todos,

Segue o codigo abaixo:

public void run() {
        ServerSocket servsock;
        Socket sock = null;
        try {
            servsock = new ServerSocket(5000);
            sock = servsock.accept();

        } catch (IOException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }



            while(true){
            try {

                oi = new ObjectInputStream(sock.getInputStream());

                    objeto = oi.readObject();




            if(objeto instanceof Mensagem){
                    msg = (Mensagem) objeto;
                    tratamsg = new TrataMensagem(msg);
                    Thread mensagem = new Thread(tratamsg);
                    mensagem.start();

           }if(objeto instanceof Usuario){
                    user = (Usuario) objeto;

                    tratauser = new ManipulaUsuario(user);
                    Thread usuario = new Thread(tratauser);
                    usuario.start();

                }
                    oi.close();
                    
            }catch (ClassNotFoundException ex) {
                    Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            }catch (IOException ex) {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
            
   }

Ele sempre fica tentando dar close no oi.

Eu tenho como verificar se o ObjectInputStream já foi fechado???

PS:. Isso é parte do codigo de um Messanger que eu to criando para um trabalho da facu :shock:

Criado 26 de outubro de 2010
Respostas 0
Participantes 1