implementing ChatServer.java

This commit is contained in:
2026-07-17 18:15:00 +03:30
parent 240eac0504
commit d965c694fa
@@ -1,15 +1,28 @@
package com.university.chat.Server;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ChatServer {
// TODO: declare a single shared UserManager instance (static final)
// This MUST be shared by all ClientSession threads so that
// broadcasting and private messaging work correctly.
public static final UserManager userManager = new UserManager();
public static ServerSocket serverSocket;
public static void main(String[] args) {
// TODO: Create a ServerSocket
// TODO: In an infinite loop:
// accept an incoming client connection
// make a new thread running ClientSession for each user.
try {
serverSocket = new ServerSocket(600);
} catch (IOException e){
throw new RuntimeException(e);
}
while(true){
try {
Socket socket = serverSocket.accept();
System.out.println("New user connected.");
ClientSession session = new ClientSession(socket, userManager);
new Thread(session).start();
} catch(IOException e){
System.err.println("Cannot connect: " + e.getMessage());
}
}
}
}