| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package server;
- import java.awt.Color;
- import java.io.IOException;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.ArrayList;
- public class Server {
- private ArrayList<User> users;
- private ArrayList<Message> messages;
-
- public Server(int port)
- {
- users = new ArrayList<User>();
- messages = new ArrayList<Message>();
-
- Thread clientconnect = new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- ServerSocket server = new ServerSocket(port);
- while(true){
- System.out.println("Waiting for clients...");
- try {
- Socket client = server.accept();
- //TODO: Check in banned list and read username and color from reply message
- users.add(new User("test", Color.red, client, Server.this));
- System.out.println("New client connected: " + client.getRemoteSocketAddress());
- System.out.println("Total users connected: " + users.size());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- } catch (IOException e) {
- System.out.println("Something went wrong, abort.");
- e.printStackTrace();
- }
- }
- });
- clientconnect.start();
- }
-
- public synchronized void addMessage(Message message){
- messages.add(message);
- for(User u:users){
- if(message.getUser() != u)
- u.sendMessage(message);
- }
- }
-
- public void deleteUser(User user){
- users.remove(user);
- }
- }
|