Skip to content

nsychev/os-net

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Решение

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).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.8%
  • Makefile 4.2%