Klient nie wysyła obiektu przez sockety

0

Witam.
Piszę sobie mały serwer opart na gniazdach. Niestety napotkałem pewien problem w momencie gdy chce przesłać obiekt program wywala bład. Wyjaśnię na kodzie:

/* Client.java */  
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStream;
import java.io.InputStreamReader;  
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;  
import java.net.Socket;  
  
public class Client  
{  
    private static final int PORT = 2000;  
    private static final String HOST = "192.168.1.4";  
    private static ObjectOutputStream outObject ;
      
    public static void main(String[] args) throws IOException  
    {  
        try  
        {  
        	Socket socket = new Socket(HOST, PORT);
			System.out.println("Polaczono");
	        OutputStream outStream = socket.getOutputStream();
	        ObjectOutputStream out = new ObjectOutputStream(outStream); 
	        final PrintWriter out2 = new PrintWriter(socket.getOutputStream(),true); 
	        System.out.println("utworzono strumienie");
	        try {
	        	
	        	Uzytkownik user = new Uzytkownik("Jan","Nowak","Siedlce",true,"JaNo","123","Wyszka",0);
				MsgPack msg = new MsgPack(true, 1, 2, true, "krwotok", true, user);
				System.out.println("wysyla");
				out.writeObject(user);   // jesli tylko jakiś object tu wsadze na konsole wywala komunikat blad/pomija komunikat wyslano
				System.out.println("wyslano");
				
			} catch (Exception e) {
				System.out.println("blad");
			}
	        System.out.println("zamykam");
	        out.close();  
	        socket.close(); 
			  
        }  
        catch(Exception e)  
        {  
            System.err.println("Could not connect to "+HOST+":"+PORT);  
            System.exit(1);  
        }  
 
    }  
}   

Próbowałem już robić prostsze obiekty aby wykluczyć błąd, nawet objekt z jednym elementem wywalał.

0

Po wyciągnięciu tego z obsługi błędów na konsole wyrzuca błąd:

 Exception in thread "main" java.io.NotSerializableException: Uzytkownik
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at Client.main(Client.java:39)
0

I teraz czytasz sobie w dokumentacji javy kiedy jest rzucany taki wyjątek (np. tu: https://docs.oracle.com/javase/8/docs/api/java/io/NotSerializableException.html)

0

Dzięki wielkie. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1