|
@@ -0,0 +1,39 @@
|
|
|
|
|
+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>();
|
|
|
|
|
+ try {
|
|
|
|
|
+ ServerSocket serverSocket = new ServerSocket(port);
|
|
|
|
|
+ while(true){
|
|
|
|
|
+ System.out.println("Waiting for clients...");
|
|
|
|
|
+ Socket client = serverSocket.accept();
|
|
|
|
|
+ //TODO: Check in banned list and read username and color from reply message
|
|
|
|
|
+ users.add(new User("test", Color.red, client, this));
|
|
|
|
|
+ System.out.println("New client connected: " + client.getRemoteSocketAddress());
|
|
|
|
|
+ System.out.println("Total users connected: " + users.size());
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ System.out.println("Something went wrong, abort.");
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void addMessage(Message message){
|
|
|
|
|
+ messages.add(message);
|
|
|
|
|
+ for(User u:users){
|
|
|
|
|
+ if(message.getUser() != u)
|
|
|
|
|
+ u.sendMessage(message);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|