0

ここにクライアントとサーバーがあります。クライアントは最初にファイルを送信する必要があります。サーバーがそれを受信するとき、オブジェクトを送信する必要があります。ファイルの送受信はうまく機能しますが、クライアントは結果オブジェクトを受信しませんでした

public class Server_file {

    public static void main(String[] args) throws IOException {
        ServerSocket server_socket = new ServerSocket(2233);
        Socket socket = server_socket.accept();
        FileOutputStream fos = new FileOutputStream(
                "C:/Users/Asmaa/Desktop/test51.txt");
        BufferedOutputStream out = new BufferedOutputStream(fos);
        byte[] buffer = new byte[1024];
        int count;
        OutputStream os = socket.getOutputStream();
        InputStream in = socket.getInputStream();
         while((count=in.read(buffer)) >=0 ){
         fos.write(buffer, 0, count);
         }
         fos.close();
         System.out.println("test");
        Resultat res = new Resultat(14);
        ObjectOutputStream oos = new ObjectOutputStream(os);
        oos.writeObject(res);
        oos.close();
        socket.close();

    }
}

そしてここでクライアント:

public class Client_file {
    public static void main(String[] argv) throws Exception {
        Socket socket = new Socket("127.0.0.1", 2233);
        int count;
        byte[] buffer = new byte[1024];
        File myFile = new File("C:/Users/Asmaa/Desktop/s.txt");

        OutputStream out = socket.getOutputStream();
        BufferedInputStream in = new BufferedInputStream(new FileInputStream(
                myFile));
        while ((count = in.read(buffer)) >= 0) {
            out.write(buffer, 0, count);
            out.flush();
        }
        System.out.println("hi");
        InputStream is = socket.getInputStream();
        ObjectInputStream ois = new ObjectInputStream(is);
        Resultat to = (Resultat) ois.readObject();
        System.out.println("test");
        System.out.println(to.getA());
        out.close();
        socket.close();
    }

}
4

0 に答える 0