28 lines
1.0 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|