Server.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package server;
  2. import java.awt.Color;
  3. import java.io.IOException;
  4. import java.net.ServerSocket;
  5. import java.net.Socket;
  6. import java.util.ArrayList;
  7. public class Server {
  8. private ArrayList<User> users;
  9. private ArrayList<Message> messages;
  10. public Server(int port){
  11. users = new ArrayList<User>();
  12. messages = new ArrayList<Message>();
  13. try {
  14. ServerSocket serverSocket = new ServerSocket(port);
  15. while(true){
  16. System.out.println("Waiting for clients...");
  17. Socket client = serverSocket.accept();
  18. //TODO: Check in banned list and read username and color from reply message
  19. users.add(new User("test", Color.red, client, this));
  20. System.out.println("New client connected: " + client.getRemoteSocketAddress());
  21. System.out.println("Total users connected: " + users.size());
  22. }
  23. } catch (IOException e) {
  24. System.out.println("Something went wrong, abort.");
  25. e.printStackTrace();
  26. }
  27. }
  28. public void addMessage(Message message){
  29. messages.add(message);
  30. for(User u:users){
  31. if(message.getUser() != u)
  32. u.sendMessage(message);
  33. }
  34. }
  35. }