Java sendet und empfängt Dateien (Byte []) über Sockets

Ich versuche zu entwickeln, die eine sehr einfache client /server, wo der client wandelt eine Datei in bytes, sendet es an den server, und dann wandelt die bytes in einer Datei.

Derzeit das Programm erzeugt nur eine leere Datei. Ich bin nicht eine fantastische Java-Entwickler, so dass jede Hilfe sehr geschätzt.

Dies ist der server-Teil, das empfängt, was der client sendet.

ServerSocket serverSocket = null;

    serverSocket = new ServerSocket(4444);


    Socket socket = null;
    socket = serverSocket.accept();

    DataOutputStream out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
    DataInputStream in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
    byte[] bytes = new byte[1024];

    in.read(bytes);
    System.out.println(bytes);

    FileOutputStream fos = new FileOutputStream("C:\\test2.xml");
    fos.write(bytes);

Und hier ist der client-Teil

Socket socket = null;
    DataOutputStream out = null;
    DataInputStream in = null;
    String host = "127.0.0.1";     

    socket = new Socket(host, 4444);
    out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
    in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));

    File file = new File("C:\\test.xml");
    //InputStream is = new FileInputStream(file);
    //Get the size of the file
    long length = file.length();
    if (length > Integer.MAX_VALUE) {
        System.out.println("File is too large.");
    }
    byte[] bytes = new byte[(int) length];

    //out.write(bytes);
    System.out.println(bytes);

    out.close();
    in.close();
    socket.close();

InformationsquelleAutor der Frage Rookie | 2012-03-01

Schreibe einen Kommentar