#windows #linux #ping
#Windows #linux #пинг
Вопрос:
Возможно ли прослушивать порт и запускать команду, когда пользователь пытается подключиться к этому порту? Идеальное приложение для сервера, которое должно запускаться только тогда, когда кто-то действительно его использует. Решения для Windows или Linux работают.
Комментарии:
1. Если вы прослушиваете порт и по запросу клиента что-то делаете, это в некотором смысле тоже сервер 🙂
Ответ №1:
linux / unix:
man nc
NAME
nc - TCP/IP swiss army knife
некоторые параметры, которые могут вас заинтересовать
-l listen mode, for inbound connects
-p port local port number (port numbers can be individual or ranges: lo-hi [inclusive])
-e prog specify program to exec after connect (use with caution)
я думаю, что nc также доступен под платформой Windows.
Ответ №2:
Одним из решений может быть использование inetd или xinetd, укажите номер порта и программу для запуска, для вас, вероятно, сценарий оболочки.
Ответ №3:
Я не уверен, какова точная область вопроса, но если она привязана к уровню программирования, вы можете написать свой сервер таким образом, чтобы, когда его никто не использует, никакие ресурсы, кроме прослушиваемой части, не выделялись. Я бы назвал это ленивой инициализацией. Когда кто-то подключается, просто инициализируйте всю логику вашей программы. Когда все соединения будут отключены, деинициализируйте все.