------------------
سمحت لنفسي بتعديل جزئية بسيطة
@Override
public void run() {
Message messageFromClient, messageToClient = null;
while (isConnected) {
try {
if ((messageFromClient = (Message) inputStream.readObject()) != null) {
messageToClient = processProtocolInput(messageFromClient);
outputStream.writeObject(messageToClient);
outputStream.flush();
if (messageToClient instanceof GeneralMessage) {
GeneralMessage generalMessage = (GeneralMessage) messageToClient;
if (generalMessage.getType().equals(GeneralMessage.BAD_LOGIN)) {
break;
}
}
}
} catch (EOFException ex) {
OutputFrame.appendText("Client " + client.toString() + " terminated abnormaly at " + new Date());
} catch (SocketException ex) {
OutputFrame.appendText("Client " + client.toString() + " terminated abnormaly at " + new Date());
} catch (Exception ex) {
OutputFrame.appendText(ex.getMessage());
}
}
}موجودة في سطر 56 في كلاس Client في جزئية SharekServer
هذه الطريقة وان حدث خطأ خلال قرأة رسالة مثلا من ال Client فإنه يبقى بالامكان استقبال رسأل اخرى منه ( في الحل الموجود عندكم : عند حدوث خطأ بالاتصال او بالرسالة، فإنه سيتم ايقاف استقبال الرسأل من ال Client )

