

import java.io.*;
import java.net.*;
import java.util.ArrayList;

public class Server { 
    ServerSocket serverSocket = null;
    boolean listening = true;
    static ArrayList<PrintWriter> clientList = new ArrayList();
    
    public Server() {
        
        try {
            serverSocket = new ServerSocket(4413);
            System.out.println("Il server e' in ascolto");
                       
            
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4413.");
            System.exit(1);
        }
       
        
        while (listening)  {
            try {
                Socket socket = serverSocket.accept();
                PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
                BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));               
                clientList.add(out);
                new ServerMulti(out,in,socket);
            	for(PrintWriter o:Server.clientList) {
            		System.out.println(Server.clientList.indexOf(o));
            	}  	                
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }   
            try {              
                serverSocket.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }

    }
    public static void main(String args[]) {
    	Server s = new Server();
    }
}