简体   繁体   中英

Send an object from a client to a server in java

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();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM