Как связать приложение по интернету(не на локальной машине)?
Добрый день, я хочу сделать приложение, которое способно дистанционно отключать приложение на привязанном к нему ПК. Для этого я посмотрел основы wcf (есть и другие варианты и я честно говоря немного в них заблудился, меня не особо пока интересуют сайты, именно приложения с передачей данных через интернет), но примеры там на локальной машине. Я верно понимаю, что если я укажу один адрес хосту и клиенту, то они свяжутся и будут общаться? Главный вопрос - где мне его взять и как это правильно пишется в конфигурации?
Да будут, но при условии что между машинами нет фаервола, ограничивающего эту связь.
Типовая конфигурация интернета в России подразумевает наличие роутера, который и выступает в роли этого фаервола.
Если у машины, к которой подключаешься, интернет с выделенным ip адресом, то достаточно в настройках роутера настроить portmapping (раздел nat), если динамический, то нужно настраивать дополнительно dyndns
Я забыл упомянуть, да, ip адрес и доступ должен быть только у одной машине, к которой подключаются, но! в конечном счете не важно кто к кому подключается - тот кто отдает команды или тот кто их принимает (да чаще ожидает подключений тот кто принимает команды), отличный пример приложения VNC для удаленного управления, у сервера (тот кто экран показывает) и клиента (тот кто смотрит и управляет экраном) есть обратный режим когда клиент слушает а сервер подключается.
Еще момент, есть протокол автоматической настройки роутеров upnp, он часто включен, так что проблема сужается до 'разобраться с ip адресом'
Если решения по прямому доступу по ip нет (нет возможности настроить роутер) то нужно установить в интернете третью машину - сервер, к которой будут подключаться оба твоих приложения и через него обмениваться информацией.
Способов и протоколов тьма, например те что решают проблему на сетевом уровне - VPN сервер, который просто превращает в ситуацию когда оба приложения становятся в своей локальной сети без фаервола с прямым доступом.
Если будешь пилить свой сервер, настоятельно рекомендую использовать http+websocket, готовые библиотеки, провайдеры не блокируют как неизвестный протокол, а главное поддержка браузерами (т.е. управляющая машина может быть простым смартфоном/компьютером с браузером), кода там с гулькин нос
rPman, ух ты. Довольно много полезной информации. Мне нравится вариант с третьей машиной, vpn сервер и настройка роутера с помощью upnp. Доступ к роутеру есть, адрес ip, как IPv6, так и IPv4 получил. Сейчас посмотрю про то, что такое upnp. Можно поподробнее про этот вариант и про создание третьей машины в интернете?
Что именно не понятно?
Вариант третьей машины - сервера, это когда обе твои машины, и управляемая и управляющий, оба подключаются к этому третьему серверу, который в свою очередь ничего не делает, кроме проверки прав доступа и тупой пересылки сообщений.