Hey,
Ich brauche hilfe beim schließen des Sockets nachdem ein user den chat verlässt.
bekomme aber folgenden fehler:
Ich brauche hilfe beim schließen des Sockets nachdem ein user den chat verlässt.
Java:
public void run() {
closeConnection = false;
while (!closeConnection) {
try {
Msg msg = (Msg) client.getIn().readObject(); // Hier, dies soll Zeile 56 sein
if (msg.getTag().equals(Msg.CONNECT_TAG)) {
client.getOut()
.writeObject(
new Msg(
Msg.TEXT_TAG,
"Server",
"Welcome "
+ msg.getName()
+ ", press the quit button to leave chatroom!"));
} else if (msg.getTag().equals(Msg.TEXT_TAG)) {
for (int i = 0; i < clients.size(); i++) {
if (!clients.get(i).equals(client)) {
clients.get(i).addMsg(msg);
}
}
} else if (msg.getTag().equals(Msg.UPDATE_TAG)) {
client.getOut().writeObject(client.pollMsg());
} else if (msg.getTag().equals(Msg.CLOSE_CONNECTION)) {
for (int i = 0; i < clients.size(); i++) {
if (!clients.get(i).equals(client)) {
clients.get(i).addMsg(
new Msg(Msg.TEXT_TAG, "Server", msg
.getName()
+ ", has left the chatroom!"));
}
}
clients.remove(client);
client.closeSocket();
closeConnection = true;
}
} catch (ClassNotFoundException | IOException e) {
e.printStackTrace();
}
}
}
bekomme aber folgenden fehler:
Java:
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at chat.server.ChatServer$ServerHandler.run(ChatServer.java:56)
Zuletzt bearbeitet: