Files
HW-10-Socket-Programming/src/main/java/com/university/chat/Server/ChatServer.java
T
2026-06-21 23:03:45 +03:30

28 lines
1.0 KiB
Java

package com.university.chat.Server;
import java.io.IOException;
import java.net.ServerSocket;
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.
static final UserManager userManager = new UserManager();
public static void main(String[] args) {
// TODO: Create a ServerSocket
try (ServerSocket serverSocket = new ServerSocket(5000);) {
// TODO: In an infinite loop:
// accept an incoming client connection
// make a new thread running ClientSession for each user.
while (true) {
ClientSession clientSession = new ClientSession(serverSocket.accept(), userManager);
Thread thread = new Thread(clientSession);
thread.start();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}