Allora, devo creare un sisteam client/server e per farlo utilizzo 3 classi:
CollabServer che rappresenta il server
CollabHandler che gestisce una singola connessione di un utente
ServizioCinema che rappresenta il client

Ho passato la fase di compilazione, il server accetta conessioni ma quando la conessione avviene sia il server che il client si bloccano sulla creazione dell'ObjectInputStream e dell'ObjectOutputStream.

non riesco a capire perchè!

questa è la classe che dovrebbe gestire la singola connessione

collabhandler:

codice:
package serverclientprova;

import java.net.*;
import java.io.*;
import java.util.*;
import java.awt.*;
// import prominence.msg.*; ?????
import java.util.logging.Level;
import java.util.logging.Logger;



public class CollabHandler extends Thread {
    protected Socket socket;
    protected ObjectInputStream ois;
    protected ObjectOutputStream oos;
    protected CollabServer S;
        
    //--------------------------------------------------
    public CollabHandler(Socket socket, CollabServer CS) throws IOException {
       S = CS;
       this.socket = socket;
       try{
          System.out.println("qui arriva 1");
            ois = new ObjectInputStream(socket.getInputStream());
             System.out.println("qui non arriva 2");
            oos = new ObjectOutputStream(socket.getOutputStream());
       }catch (IOException e) {
            System.out.println("QuestaIO Exception" + "\n");
        }
       start();
    }

.
.
...
Questa è la classe che idealizza il server

CollabServer:

codice:
package serverclientprova;

import java.net.*;
import java.io.*;
import java.util.*;

public class CollabServer {
//--------------------------------------------------
protected static FilmInProg [] vFiP;
protected String info = "";
protected BufferedReader bis;
protected BufferedWriter bos;
protected int nM;


    public CollabServer() throws IOException {
        MemorizzaFile();
        nM = ContaMatrici();
        vFiP = new FilmInProg [nM];
        CreaVettore();
        ServerSocket server = new ServerSocket(1414);
        
        System.out.println ("Accepting connections...");
        while(true) {
            Socket client = server.accept();  //ogni richiesta di connessione  viene accettata
            System.out.println ("Accepted from " + client.getInetAddress());
            try{
            new CollabHandler(client, this);
            }catch(IOException e){
                System.out.println("IO Exception" + "\n");   
           }//Istanziamo un oggetto CollabHandler per gestire la connessione        }
        }
   }
.
.
...
lo stesso errore lo da anche in ServizioCinema (il client):

codice:
package clientserverprova;


import java.io.*;
import java.awt.*;
import java.net.*;
//import prominence.msg.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ServizioCinema extends Frame {
    protected static int id = 0;
    Label LMsgServer, LInfoFilm, LSala, LOrario, LPostiLiberi;
    TextArea TAInfoFilm, TAMsgServer;
    TextField TFSala, TFOrario, TFPostiLiberi;
    Button BRichiedi, BPostiLiberi, BCompra, BReset;
    ObjectInputStream Ois; 
    ObjectOutputStream Oos;
    Button [][] Mb; 
    String S, O;
    short [][] D;
    Color g, r, b;    

    
    public ServizioCinema (InputStream i, OutputStream o)  throws IOException {
        super ("Servizio Cinema " + (id ++));
        this.setLayout(null); //che fa????
        setResizable(false);
        try {
            System.out.println("qui arriva 1");
            Ois = new ObjectInputStream (i);
            System.out.println("qui non arriva 1");
            Oos = new ObjectOutputStream (o);
            
       }catch (IOException e){
            System.out.println("oh 4");
            System.out.println("IOException E" + "\n");
        }
       
        g = Color.GREEN;
        r = Color.RED;
        b = Color.BLUE;
.
.
...
Netbean compila tutto tranquillamente, ma in esecuzione si blocca su quelle istruzioni in grassetto.

ecco l'output del server:

codice:
init:
deps-jar:
Compiling 1 source file to D:\Download\PROGRAMMAZIONE D RETE\Primo Progetto\ServerclientPROVA 1.1\build\classes
compile:
run:
Accepting connections...
Accepted from /127.0.0.1
qui arriva 1
e quello del client:

codice:
init:
deps-jar:
Compiling 1 source file to D:\Download\PROGRAMMAZIONE D RETE\Primo Progetto\CLIENTSERVERPROVA 1.1\build\classes
Note: D:\Download\PROGRAMMAZIONE D RETE\Primo Progetto\CLIENTSERVERPROVA 1.1\src\clientserverprova\ServizioCinema.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
compile:
run:
qui arriva 2
l'errore "Note: D:\Download\PROGRAMMAZIONE D RETE\Primo Progetto\CLIENTSERVERPROVA 1.1\src\clientserverprova\ServizioCinema.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details." credo sia perchè uso alcuni metodi deprecati per creare il frame.


Qualcuno mi sa dire perchè in runtime si bloccano entrambi su sti objectStream??? Li ho dichiarati in qualche modo sbagliato? Ho sbagliato aprendere l'inputstream e l'outputstream? Dio mi vuole male?

Non so dove mettere le mani : \

Grazie in anticipo per l'aiuto