Удалённое управление компьютерами при помощи команд
Есть главный компьютер (он только один), а также n обычных компьютеров. Все компьютеры подключены к разному Wi-Fi. Нужно сделать так, чтобы с главного компьютера можно было отдавать на остальные компьютеры команды, сценарий которых прописан у них в запущенной программе.
Каким путём можно отправлять и принимать команды между главным компьютером и остальными пк?
Ответы (1 шт):
Для установки соединения, нужно чтобы машины друг друга видели: либо сервер видел всех клиентов, либо каждый клиент видел сервер. Проще - выставить сервер в интернет (т.к. он один).
Программа на клиенте периодически шлет запросы на сервер, о наличии новых команд. В общем случае это называется Remote Procedure Call. (Есть масса библиотек для решения этой задачи, с использованием разных протоколов передачи данных и с разными гарантиями на передачу данных по сети. В том числе, для разных языков программирования на клиенте и сервере, но, если язык реализации один, то выбор библиотек - шире.
Если будите использовать http-get запросы, в стиле REST, то. сервер не может знать получил ли клиент информацию успешно, даже если он ответил на запрос клиента и поэтому не может знать какие команды новые, а какие уже обработаны клиентом. Значит get-запрос должен включать либо порядковый номер, либо дату/время создания последней успешно выполненной команды, а ответ на этот запрос - должен, кроме самих команд, включать в себя номера (или время) команд. Клиент должен вести учет выполненных команд на своей стороне, и делать это персистентно (т.е. данные должны сохраниться при внезапной перезагрузке машины). Например, сохранять номер последней выполненной команды в отдельном файле на диске.