Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unix (21.03.12) Сокеты.doc
Скачиваний:
8
Добавлен:
25.08.2019
Размер:
73.73 Кб
Скачать

Что делает клиент?

Клиент также как и сервер создает сокет такого же типа и домена, может делать или не делать bind,чтобы указать адрес сокета. Наконец, он должен с помощью connect()

connect(<номер сокета>, <адрес сокета сервера>, <длина буфера, который указан вторым параметром>);

положить запрос в очередь запросов. У connect() три параметра: номер сокета, адрес сокета сервера, длина буфера, указанного вторым параметром. После того, как connect() закончил, с помощью write() отправляются данные, указав при этом адрес сокета, потом с помощью read() читает результаты, причем рид ждет,пока запрос на сервере не будет обработан. После того,как результат получен, чтобы разорвать соединения мы должны вызвать системный вызов close().

Задача: написать клиент-сервер на юниксовых сокетах. он должен обрабатывать запросы: "дай файл", отсылая в качестве данных для запроса имя файла. Ответ от сервера - содержимое файла, переданное на сторону клиента. Клиент, получив файл, должен выводить его на стандартный вывод. Надо делать программу в предположении,что файл целиком не помещается в оперативную память. Программа должна уметь обрабатывать двоичные данные. Проверка работоспособности: сравнивается исходный файл и результирующий.

На следующем занятии мы будем писать программу на IP-сокетах.

Пример реализации сокетов:

http://osr507doc.sco.com/en/netguide/dusockT.code_samples.html

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]