01
Мар
2017

Передача данных между сервером и клиентом

Server

public static void activ(ServerSocket serverSocket) throws IOException {
    Socket socket = serverSocket.accept();
    InputStream sin =socket.getInputStream();
    OutputStream sout = socket.getOutputStream();
    FileInputStream fin = new FileInputStream(new File("Log.txt"));
    InputStream sfin = new BufferedInputStream(fin);
    int res = IOUtils.copy(sfin, sout);
    fin.close();
    sfin.close();
    sout.flush();
    fin = new FileInputStream(new File("Client.png"));
    sfin = new BufferedInputStream(fin);
    res = IOUtils.copy(sfin, sout);
    sout.flush();
    sout.close();
    socket.close();

Client

public class Main {
public static void main(String[] args) throws IOException {
    Socket socket = new Socket("127.0.0.1", 15123);
    InputStream in = socket.getInputStream();
    FileOutputStream fout = new FileOutputStream(new File("Log.txt"));
    OutputStream out = new BufferedOutputStream(fout);
    int res = IOUtils.copy(in,out);
    out.close();
    out.flush();
    fout = new FileOutputStream(new File("Client.png"));
    out = new BufferedOutputStream(fout);
    res = IOUtils.copy(in,out);
    out.flush();
    out.close();
    in.close();
    //bos.flush();
    //bos.close();
    socket.close();
}

}

Пытаюсь передать файлы, используя IOUtils.copy(), но столкнулся с такой проблемой, что программа все файлы складывает в один файл. Приведу пример, чтобы было немного понятнее: я пытаюсь передать 2 файла "Log.txt" и "Client.png". По завершению работы программы, эти 2 файла превращаются в один, т.е. перемешиваются. Кто знает как можно решить эту проблему? Сам файл "Log.txt" выглядит следующим образом:

Update  /images Client.png  Small
Update  /images Close.png   Small

Но на выходе он мне выдаёт следующее:

Update  /images Client.png  Small
Update  /images Close.png   Small<содержимое Client.png>

Источник: https://ru.stackoverflow.com/questions/633903/%D0%9F%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%BC-%D0%B8-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%BE%D0%BC

Share

Тебе может это понравится...