Implement server and client classes

This commit is contained in:
2026-06-30 11:53:05 +03:30
parent 240eac0504
commit 0bb95c7816
4 changed files with 253 additions and 51 deletions
@@ -1,15 +1,31 @@
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
try {
serverSocket = new ServerSocket(555);
} catch (IOException e){
throw new RuntimeException(e);
}
while(true){
try {
Socket socket = serverSocket.accept();
System.out.println("New client accepted.");
ClientSession session = new ClientSession(socket, userManager);
new Thread(session).start();
} catch(IOException e){
System.err.println("Cannot establish connection");
}
}
// TODO: In an infinite loop:
// accept an incoming client connection
// make a new thread running ClientSession for each user.
}
}