From 13879b15ab86618e5b1e9ce0ec064f9eae23abf7 Mon Sep 17 00:00:00 2001 From: Parmis Jamami Date: Tue, 23 Jun 2026 23:38:38 +0330 Subject: [PATCH] implement ChatServer --- .../university/chat/Server/ChatServer.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/university/chat/Server/ChatServer.java b/src/main/java/com/university/chat/Server/ChatServer.java index b2a35ae..e397097 100644 --- a/src/main/java/com/university/chat/Server/ChatServer.java +++ b/src/main/java/com/university/chat/Server/ChatServer.java @@ -1,15 +1,24 @@ package com.university.chat.Server; +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. + + private 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) { + Socket socket = serverSocket.accept(); + ClientSession session = new ClientSession(socket, userManager); + new Thread(session).start(); + } + + } catch (Exception e) { + e.printStackTrace(); + } } -} +} \ No newline at end of file