Запустить команду, когда пользователь подключается? - PullRequest
0 голосов
/ 08 октября 2011

Можно ли прослушивать порт и запускать команду, когда пользователь пытается подключиться к этому порту?Идеальное приложение для сервера, который должен запускаться только тогда, когда кто-то его использует.Решения для Windows или Linux работают.

Ответы [ 3 ]

1 голос
/ 08 октября 2011

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.

0 голосов
/ 09 октября 2011

Я точно уверен, каков точный объем вопроса, но если он привязан к уровню программирования, вы можете написать свой сервер так, чтобы, когда его никто не использовал, никакие ресурсы, кроме части прослушивания, не выделялись. Я бы назвал это ленивой инициализацией. Когда кто-то подключается, просто инициализируйте всю логику вашей программы. Когда все соединения разорваны, деинициализируйте все.

0 голосов
/ 08 октября 2011

Одним из решений может быть использование inetd или xinetd, указать номер порта и программу для запуска, для вас, вероятно, сценарий оболочки.

...