Задача:
• Написать две программы, которые будут общаться через интернет-сокеты. Один будет действовать как сервер, другой будет клиентским приложением.
• Serwer - это демон, который после запуска отключается от терминала управления. Программа сервера обязательна для запуска с одним из двух вариантов:
-p port, который заставляет сервер работать в фоновом режиме, прослушивая клиентские соединения через port на всех доступных интерфейсах; только один экземпляр нашего сервера может работать в системе одновременно, попытка перезапустить его должна сигнализироваться соответствующим сообщением;
-q, который заставит его проверить, запущен ли в настоящий момент экземпляр сервера в системе и, если он окажется истинным, он будет закрыт.
Klient (пользовательская программа) запускается с обязательными четырьмя параметрами -a addres_ip, -p port, -s string и -o operation, указывающими, к какому серверу мы хотим подключиться и что сервер должен сделать для нас. После подключения к серверу клиент отправляет ему string и операцию для выполнения operation. Допустимые операции: tolower, toupperi invert.
• Сервер отвечает клиенту в соответствии с полученным запросом, отправляя обратно измененную строку (все буквы были уменьшены, все буквы были увеличены или буквы были сохранены в обратном порядке)
• После получения ответа клиент отображает его и завершает свою работу.
• Рассматривает возможность возникновения ошибочных ситуаций и реагирует на них соответствующим образом (например, пытается отправить сообщение клиенту, который завершился).
Используйте механизм мультиплексирования на сервере !!!.