implement ServerListener

This commit is contained in:
2026-06-23 23:40:42 +03:30
parent 59edb79db4
commit 5a759ae02f
@@ -1,19 +1,39 @@
package com.university.chat.Client; package com.university.chat.Client;
public class ServerListener implements Runnable{ import com.university.chat.Common.ChatMessage;
// TODO: store the ObjectInputStream from the user socket import com.university.chat.Common.FileMessage;
// (this should be the same input stream the
// chatClient created when connecting) import java.io.ObjectInputStream;
public class ServerListener implements Runnable {
private ObjectInputStream in;
public ServerListener(ObjectInputStream in) {
this.in = in;
}
@Override @Override
public void run() { public void run() {
try { try {
// TODO: In an infinite loop read objects from the server while (true) {
// - if it's a ChatMessage -> print "<sender>: <content>" Object object = in.readObject();
// - if it's a FileMessage -> print that a file was received
// (filename + sender), it's already if (object instanceof ChatMessage msg) {
// saved to disk by the server. System.out.println(msg.getSender() + ": " + msg.getContent());
} catch (Exception e){ }
if (object instanceof FileMessage fileMsg) {
System.out.println(
"File received: " +
fileMsg.getFilename() +
" from " +
fileMsg.getSender()
);
}
}
} catch (Exception e) {
System.out.println("Disconnected from server"); System.out.println("Disconnected from server");
} }
} }