@Override
		public void run() {
			int maxClientsCount = this.maxClientsCount;
			ClientThread[] threads = this.threads;
			
			try {
				//Initialize variables
				socketIn = new BufferedInputStream(client.getInputStream());
				socketReader = new InputStreamReader(socketIn);
				socketScanner = new Scanner(socketIn);
				socketOut = new BufferedOutputStream(client.getOutputStream());
				socketWriter = new OutputStreamWriter(socketOut);
				buffer = new StringBuffer();
				
				String line;
				while(socketScanner.hasNext()) {
					System.out.println("INSIDE SOCKETSCANNER.HASNEXT() WHILE LOOP");
					
					line = socketScanner.nextLine(); //PROBLEM: The thread idles here, waiting for an input
					 								 //This will continue to happen, due it being a "blocking-read"(?)
					
					if(line.startsWith("/quit")) { //when this is typed, ends the connection
						break;
					}
					
					for(int i = 0; i < maxClientsCount; i++) {
						if(threads[i] != null) {
							threads[i].socketWriter.write(buffer.toString());
						}
					}
				}
				
				//Reached after the while loop ends, only if /quit is typed
				for(int i = 0; i < maxClientsCount; i++) {
					if(threads[i] == this) {
						threads[i] = null;
					}
				} 
				
				//Clean up
				socketIn.close();
				socketScanner.close();
				socketWriter.close();
				socketOut.close();
				client.close();
			} catch(Exception e) {
				e.printStackTrace();
			}
		}