Удалённое управление компьютерами при помощи команд

Есть главный компьютер (он только один), а также n обычных компьютеров. Все компьютеры подключены к разному Wi-Fi. Нужно сделать так, чтобы с главного компьютера можно было отдавать на остальные компьютеры команды, сценарий которых прописан у них в запущенной программе.

Каким путём можно отправлять и принимать команды между главным компьютером и остальными пк?


Ответы (1 шт):

Автор решения: Chorkov

Для установки соединения, нужно чтобы машины друг друга видели: либо сервер видел всех клиентов, либо каждый клиент видел сервер. Проще - выставить сервер в интернет (т.к. он один).

Программа на клиенте периодически шлет запросы на сервер, о наличии новых команд. В общем случае это называется Remote Procedure Call. (Есть масса библиотек для решения этой задачи, с использованием разных протоколов передачи данных и с разными гарантиями на передачу данных по сети. В том числе, для разных языков программирования на клиенте и сервере, но, если язык реализации один, то выбор библиотек - шире.

Если будите использовать http-get запросы, в стиле REST, то. сервер не может знать получил ли клиент информацию успешно, даже если он ответил на запрос клиента и поэтому не может знать какие команды новые, а какие уже обработаны клиентом. Значит get-запрос должен включать либо порядковый номер, либо дату/время создания последней успешно выполненной команды, а ответ на этот запрос - должен, кроме самих команд, включать в себя номера (или время) команд. Клиент должен вести учет выполненных команд на своей стороне, и делать это персистентно (т.е. данные должны сохраниться при внезапной перезагрузке машины). Например, сохранять номер последней выполненной команды в отдельном файле на диске.

→ Ссылка