implement serverListener class

This commit is contained in:
2026-06-14 10:14:08 +03:30
parent 6e92929f8f
commit cbf5c6e9e1
@@ -1,18 +1,34 @@
package com.university.chat.Client; package com.university.chat.Client;
import com.university.chat.Common.ChatMessage;
import com.university.chat.Common.FileMessage;
import java.io.ObjectInputStream;
import java.net.Socket;
public class ServerListener implements Runnable{ public class ServerListener implements Runnable{
// TODO: store the ObjectInputStream from the user socket
// (this should be the same input stream the private final ObjectInputStream in;
// chatClient created when connecting)
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
// - if it's a ChatMessage -> print "<sender>: <content>" while (true) {
// - if it's a FileMessage -> print that a file was received Object obj = in.readObject();
// (filename + sender), it's already if (obj instanceof ChatMessage msg) {
// saved to disk by the server. System.out.println(msg.getSender() + ": " + msg.getContent());
}
else if (obj instanceof FileMessage file) {
System.out.println("[File received] '" + file.getFilename()
+ "' from " + file.getSender());
}
}
} catch (Exception e){ } catch (Exception e){
System.out.println("Disconnected from server"); System.out.println("Disconnected from server");
} }