Я не уверен, правильно ли задал вопрос. Я имею в виду локально установленное программное обеспечение, которое часто называют «агентом», который поддерживает регулярную связь с некоторым хостом через HTTP. например Когда вы устанавливаете LogMeIn, Агент связывается с сервером logmein.com, поэтому, когда вы посещаете logmein.com с помощью своего веб-браузера и подключаетесь к агенту, сервер может инициировать связь. Агент, однако, не является веб-сервером, и никакие порты не перенаправляются Агенту. Итак, Агент постоянно опросил сервер, спрашивая, как сломанная запись: «Могу я вам помочь? Могу я вам помочь? Могу я вам помочь?» Или HTTP-соединение от Агента к серверу каким-то образом остается открытым? Я знаю, что вы можете открыть http-соединение, но A) как, и B), как долго? Агент должен действовать как менее раздражающая сломанная запись, спрашивая: «Могу ли я вам помочь?» Но «еще?»? с гораздо большим промежутком времени между каждым вопросом? Или агент может задать один раз и ждать неопределенно долго, снова спрашивая, только когда узнает, что соединение было отключено?Как работают клиентские веб-агенты?
Подводя итог, я хотел бы создать небольшую небольшую пробную программу для того, чтобы попробовать мою руку при написании клиент-серверного приложения, которое общается через Интернет с помощью HTTP. Любая из сторон должна иметь возможность инициировать команды/запросы. Агент, скорее всего, свяжется с сервером, используя какой-то API, возможно, RESTful. Когда я начну эксперимент, я буду использовать Perl. Было бы забавно создать проект Hello World, который бы имел образцы на многих языках для многих платформ, как писать агента и как общаться с сервером. Код агента выполняет действия на стороне клиента (например, определяет общедоступный IP-адрес) и отправляет данные на сервер. Сервер будет действовать на данные (например, хранить IP-адрес в базе данных). Сервер также может инициировать команду для Агента (например, Эй, Агент! Какой у вас тип процессора?) Правильная аутентификация/авторизация между Агентом и Сервером, конечно, является необходимостью.
Есть ли существующие проекты для моделирования? Какие-либо существующие документы? Возможно, я просто пропустил терминологию, и если бы я просто знал, что все, о чем я прошу, можно судить по термину foo, тогда двери будут открыты для того, что я могу найти в поисках!
Попробуйте http://windowssecrets.com/top-story/run-your-pc-from-afar-securely-and-easily/ и http://www.tek-tips.com/viewthread.cfm?qid = 1598113. Logmein использует порт 80 и 443 битв! –
В Windows LogMeIn - это служба Windows. Я не уверен, как он общается, так как я не использовал его в течение длительного времени. Я использовал Dropbox, и он просто спрашивает сервер так часто, если есть что синхронизировать. Вы можете увидеть это сообщение, если вы установите Fiddler. – dontangg