#android #cpp #windows #приложение
Здравствуйте, у меня такой вопрос. Возможно ли из своего Android приложения отправлять команды на компьютер (через Wi-Fi или Bluetooth), на котором так же будет установлена программа принимающая данные команды (на C++ к примеру) ? Если имеет значение ОС на компе, то интересует Windows. Что бы вы могли представить себе более понятно что имеется в виду, представьте себе что Android приложение это как пульт для телевизора, то есть пользователь выполняет действия, на комп отправляется команда, а там уже другая программа выполняет эти действия. Я предполагаю что это возможно, но вот проблема в том что не могу найти как это реализовывается. Могли бы вы подсказать в какую сторону копать что бы понять как такое можно сделать ? В какую сторону искать что бы понять как с android приложения отправлять команды, и в какую сторону искать что бы понять как их принимать на С++ ? Спасибо.
Ответы
Ответ 1
В случае если компьютер и девайс находятся в одной сети все предельно просто. На компьютере запускается приложение которое прослушивает определенный заранее выбранный порт, например по протоколу UDP. Порт можно выбрать любой от 1 до 65'535, обычно рекомендуют для домашнего использования больше 60'000, т.к. они обычно не заняты. Далее на девайсе посылаем бродкаст на выбранный порт с командой. В самом простом случае это может быть строка с кодовым словом или вообще JSON. Преимущество UDP в том что не обязательно указывать ip адрес получателя, сообщение разошлется по всей сети, но поймет его только тот кто слушает выбранный порт и знает формат команды.Ответ 2
На C пишется Web-серверер (или используется готовый), на андроиде приложение отправляет ему GET/POST-запросами команды. Я, правда, сразу вижу проблему определения адреса сервера... Можно обойтись и без специального приложения на Android, если все действия будут в браузере выполняться.Ответ 3
Такое можно написать на сокетах (использовать TCP/IP протокол). Android будет выступать сокет-клиентом, а сервер - сокет-сервером. В таком случае не только Andorid может посылать команды, но и сервер! Реализовать на Web-сервере (протокол HTTP). Кстати, например, вот бесплатный многопоточный веб-сервер: https://github.com/sitev/cjNetwork (сам писал ))) ). Можно взять другой бесплатный, более надёжный, например, мангуста: https://github.com/cesanta/mongoose CGI/FastCGI/SCGIОтвет 4
Можно через Jabber ботов организовать, можно даже через email
Комментариев нет:
Отправить комментарий