Commit 603c525d authored by Kseniya Lysenko's avatar Kseniya Lysenko
Browse files

Update 07-threads.rst

parent 77e85aec
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -6,13 +6,19 @@
Передачу файлов с помощью сокетов можно реализовать по следующей схеме:
 1. Настраиваем сокет, устанавливаем соединение.
 2. **На отправляющей стороне**: 

    - открываем файл на чтение в режиме байтового чтения (``'rb'``).
    - построчно передаём файл принимающей стороне (``'rb'``).

    - построчно передаём файл принимающей стороне.
 3. **На принимающей стороне**: 

    - открываем файл на запись в режиме байтовой записи (``'wb'``).

    - построчно пишем в файл всё, что получаем от передающей стороны.
 4. Закрываем файлы и соединение.

Передача файлов байтовыми строками позволяет пересылать любые файлы, независимо от их типа, расширения и т.п.

Пример кода для отправки файла с клиента серверу.

Сервер::
@@ -91,3 +97,13 @@
 f.close()
 sock.close()

Задания
----------
1. Используя код из урока, реализуйте возможность отправлять файл с сервера клиенту.
2. Реализуйте возможность передачи файлов как от клиента серверу, так и от сервера клиенту:

 - должна быть возможность выбрать режим передачи (1 - от клиента серверу, 2 - от сервера клиенту);
 
 - оформите код с помощью функций;