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: