Salve,

sto cercando di capire perchè la mia applicazione raggiunto un determinato punto non va più avanti nell'esecuzione, è come se entrasse in stand by! Si tratta di un'applicazione client-server!

La parte del server interessata è questa qui (Main):

codice:
								ServerSocket server = null;
								Socket ss = null;
									    				
								try
								{
									server = new ServerSocket(5000);
									System.out.println("Server in ascolto..");
    					
									while(true)
									{
										ss = server.accept();
    										
    									/*Iscrizione dei client*/
										if(ss != null)
										{
											System.out.println("Stabilita connessione con una socket!"); //
											
											ObjectInputStream readInfo = new ObjectInputStream(ss.getInputStream());
											String operazioneDettata = (String) readInfo.readUnshared();
    										ClientThread client = null;
    										
    										if(operazioneDettata.equalsIgnoreCase("Iscrizione"))
    										{
    											System.out.println("Ci sono..."); //	
												client = new ClientThread(ss, operazioneDettata);
    										}
    										else
    										{
    											InfoUtente user = (InfoUtente)readInfo.readUnshared();
    											client = new ClientThread(ss, operazioneDettata, user, null);
    										}
    										
    										client.start();
										}
									}
								}
								catch(IOException e)
								{
									e.printStackTrace();
								}
								catch(ClassNotFoundException e)
								{
									e.printStackTrace();
								}
Parte della classe ClientThread
codice:
import java.util.*;
import java.net.*;
import java.io.*;

class ClientThread extends Thread{
	
	public ClientThread(Socket s, String opUser) throws IOException
	{
		porta=s;
		fromClient = new ObjectInputStream(porta.getInputStream());
		toClient = new ObjectOutputStream(porta.getOutputStream());
		operazioneUtente = opUser;
	}
	
	public ClientThread(Socket s, String opUser, InfoUtente dati, ArrayList<ClientThread> connessi) throws IOException
	{
		porta=s;
		fromClient = new ObjectInputStream(porta.getInputStream());
		toClient = new ObjectOutputStream(porta.getOutputStream());
		operazioneUtente = opUser;
		datiUtente = dati;
		utentiConnessi = connessi;		
	}
	
	public void updateList(ArrayList<ClientThread> newList)
	{
		utentiConnessi = newList;
	}
	
	public InfoUtente getInfoUser()
	{
		return datiUtente;
	}
	

	public void run()
	{
		System.out.println("THREAD AVVIATO"); // QUESTO PUNTO NON VIENE RAGGIUNTO
		
		//CORPO...
        }
Invece la parte del client interessata è la seguente:
codice:
public Iscrizione(File datiUtente) //istanza della classe iscrizione
	{
		try
		{
			System.out.println("CI ARRIVO 1"); //
			this.datiUtente=datiUtente;
			connect = new Socket("localhost", 5000);
			System.out.println("CI ARRIVO 2"); //
			inviaDati = new ObjectOutputStream(connect.getOutputStream());
			System.out.println("CI ARRIVO 3"); //
			//riceviDati = new ObjectInputStream(connect.getInputStream());		
			
			inviaDati.writeUnshared("Iscrizione");
			inviaDati.flush();
			
			InputStream in = connect.getInputStream();
			System.out.println("CI ARRIVO 4"); //
			riceviDati = new ObjectInputStream(in);
			System.out.println("CI ARRIVO 5"); // QUESTO PUNTO NON VIENE RAGGIUNTO
			String risposta = (String)riceviDati.readUnshared();

                       //RESTO DEL CORPO
             }
Praticamente i punti indicati lato server e lato client non vengono raggiunti! Lì il programma non va più avanti!

Da cosa può dipendere il problema?
Dal thread che non viene lanciato? Oppure dell'oggetto objectInuptStream?