Come mai mi si blocca il programma chiamando questa funzione???
codice:
public void AvviaServer()
    {
    	int Porta = 40;
    	
        try
        {
        	try
        	{
            	Porta = Integer.parseInt(setPorta.getText());
        	}
        	catch(Exception e)
        	{
            	if(finErrore == null)
                	finErrore = new Errore(Server.this,"Si deve inserire un numero!!");
            	finErrore.setVisible(true);
        	}
        
        	if(Porta <= 0 || Porta > 65535)
        	{
            	if(finErrore == null)
                	finErrore = new Errore(Server.this,"Valori ammessi tra 1 e 65535");
            	finErrore.setVisible(true);
        	}
            
            ServerS = new ServerSocket(Porta);              
            Scrivi("Server attivo sulla porta: " + Porta);
            
            while(true)
            {
                Scrivi("Attesa delle connessioni");
                SocketIngresso = ServerS.accept();

                TokenIndirizzo = new StringTokenizer(SocketIngresso.getInetAddress().toString(),"/"); 
                Indirizzo = TokenIndirizzo.nextToken();
            
                Scrivi("Connesso utente " + IDSocket + " @ " + Indirizzo);
            }
        }
        catch(IOException e)
        {
            Scrivi("Caduta della connessione dell'utente " + (IDSocket-1) + " @ " + Indirizzo);
        }
        catch(Exception e)
        {
        	if(finErrore == null)
        		finErrore = new Errore(Server.this,"Errore nell'apertura del server");
        	finErrore.setVisible(true);
        }
    }