How do i send an object to a server in java?
Client:
Help h = new Help("Mattia Cammalleri","Informatica","18 Novembre 2020");
Socket s = new Socket("localhost", 8888);
ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());
ObjectInputStream is = new ObjectInputStream(s.getInputStream());
os.writeObject(h);
os.flush();
Server:
ServerSocket ss = new ServerSocket(8888);
Socket s = ss.accept();
ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());
ObjectInputStream is = new ObjectInputStream(s.getInputStream());
Help h = (Help) is.readObject();
System.out.println("Richiesta " + h);
Object (implements serializable):
public String alunno;
public String materia;
public String data;
Why it doesn't work?
I solved it in this way:
Client:
Help h = new Help("Mattia Cammalleri","Informatica","18 Novembre 2020");
Socket socket = new Socket("localhost", 7777);
System.out.println("Connected");
OutputStream outputStream = socket.getOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
System.out.println("The object has been sent");
objectOutputStream.writeObject(h);
socket.close();
Server:
ServerSocket ss = new ServerSocket(7777);
System.out.println("Waiting for the client");
Socket socket = ss.accept();
System.out.println("Connected from " + socket + "!");
InputStream inputStream = socket.getInputStream();
ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);
Help h = (Help) objectInputStream.readObject();
System.out.println("Object: " + h);
ss.close();
socket.close();