Gopher-сервер и клиент
- Linux
- Компилятор C++ с поддержкой стандарта C++17
- Make
make
Или по отдельности:
make cxgoph-server
make cxgoph-client
./cxgoph-server [-h | [host] port]
./cxgoph-client [-h] | host [[port] query]
- При получении бинарных файлов рекомендуется использовать перенаправление в файл:
./cxgoph-client 127.0.0.1 70 test/image.gif > image.gif - Возможность полнотекстового поиска отсутствует.
Необходимо попробовать клиент-серверное взаимодействие через синхронные сокеты. Помимо этого нужен Makefile, с помощью которого можно будет собрать клиент и сервер. Семейство протоколов для использования на выбор: AF_UNIX, AF_INET, AF_INET6.
- В качестве аргументов принимать адрес, на котором будет ожидать входящих соединений
- Стартовать, делать bind(2) на заданный адрес и ожидать входящих соединений
- При получении соединения, выполнять серверную часть придуманного вами протокола
- После обработки принятого соединения возвращаться в режим ожидания входящих соединений
- Принимать параметром адрес, к которому стоит подключиться
- Выполнять клиентскую часть придуманного вами протокола
- Завершаться
Для сильных духом предлагается выбрать какой-то существующий протокол и имплементировать его, или его разумное подмножество. Сильность духа будет оцениваться в два балла, при условии что выбранный протокол сложнее чем ECHO(https://tools.ietf.org/html/rfc862).