Управляем компьютером с Android устройства / Хабрахабр. Начало. А началось все с того, что вызывает меня генеральный к себе, и говорит: «Вот видишь телефон? Хочу чтобы там была кнопка, я на нее нажимаю, и у меня в ноутбуке кино включается. Нажимаю другую – музыка играет.» И еще чего- то много наговорил, уж не помню. Выполняй!» Вот уж не знаю, с чего такая потребность у него возникла.
То ли звезды не под тем углом встали, то ли сон какой приснился. Короче, не поймешь этих богатых? Тем более, что задача не показалась сложной, да и “зов кода” уже давал о себе знать (этакая профессиональная it- ломка). Вот и решил соединить Windows и Android собственными силами. То, что он просил, я сделал за пару дней. Но здесь я не хочу городить много кода, проверок и обработок исключений и т. Статья скорее предназначена для самых маленьких, как основа, опираясь на которую, можно построить что- то более масштабное. Ни в коем случае не претендую на оригинальность, явно кто- то что- то подобное писал, я просто предлагаю свой вариант. В общем, всем, кому интересно, посвящается. Что мы имеем. Значит так. Вариантов великое множество, но не все приложения выводят средства на счет, как обещают. Достойной программой станет AdvertApp. Ответить наталья 10 октября 2016 в 17:45. С одной стороны, у нас телефон с Android на борту, с другой — Windows с установленными программами, притом некоторые из этих программ нам надо запускать, подав команду с телефона. Таким образом, будем писать две программы. Первая — это сервер, работающий на компьютере, задача этой программы — открыть и слушать порт. Если на этот порт падает что- то полезное, то выполнить заданное нами действие. Вторая программа — это клиент, запущенный на телефоне, ее задача обработать действия пользователя, подключиться к серверу и передать информацию. Немного о сокетах. Тема программирование сокетов до того уже заезженная, что и особо говорить нечего. Но все же в двух словах, для тех, кто не любит ходить по ссылкам. Сокет — это программный интерфейс, который позволяет устанавливать связь между двумя процессами, используя протокол tcp/ip. Сокет ассоциирован с двумя аспектами: ip- адресом и портом. Где ip- адрес — это адрес хоста (компьютера) в сети, с ним работает протокол IP. Port — это идентификатор приложения, к которому адресовано соединение, тут работает протокол TCP. Порт может быть как TCP, так и UDP, в этой статье я буду использовать только TCP. Поскольку ip- адрес является уникальным как в сети интернет, так и в локальной сети, то он однозначно определяет адрес отправителя и адрес принимающего. Порт же является уникальным в пределах операционной системы, он определяет приложение, с которым мы хотим взаимодействовать. Порты могут быть стандартными, например, 8. HTTP, или 3. 38. 9 — RDP. Вы можете использовать любой незанятый порт, но стандартные лучше не трогать. Очень хорошо и с примерами о сокетах написано здесь. Сервер. Начинаем хулиганить. Запускать Aimp, Windows Media Player и т. Давайте лучше побезобразничаем. Будим крутить- вертеть экран монитора как нам вздумается или выводит неожиданные сообщения (этакий однонаправленный ацкий мессенджер), и самое ужасное — выключим компьютер! Правда, за это могут и на вилы надеть. Ну да ладно, пускай сначала поймают. Итак, приступим. В Visual Studio создаем новое Windows Form приложением с именем, скажем, Funny. После заявки на вывод, деньги поступают на счёт в течении нескольких часов, на одном устройстве и использовать эмулятор Android. Joke. Открываем файл Program. Main. Этот код инициализирует главную форму приложения, нашему серверу никакие окна не нужны, он должен сидеть тихо мирно и ждать команд. В классе Program определим следующие переменные: // Порт. IPAddress ip. Address = IPAddress. Parse(. Это не совсем правильно, но для начала сойдет. Далее я определил три константы, которые задают коды команд, приходящие от клиента. В начале проекта не забываем подключить: using System. Net. using System. Net. Sockets. Теперь, вместо удаленного кода в функции Main вставляем следующий: Mainstatic void Main(). При удачном соединение создается новый экземпляр Socket. Socket handler = socket. Accept(). // Массив, где сохраняем принятые данные. Сначала создаем локальную конечную точку и ассоциируем ее с нашим ip адресом и портом. Затем, определяем основной сокет, связываем его с конечной точкой, и переводим в режим прослушивания. После этого входим в бесконечный цикл, и начиная со строки: Socket handler = socket. Accept(). наш сервер переходит в состояние ожидания соединения. При удачном соединении создастся новый экземпляр Socket, посредствам которого мы и будем общаться с нашим клиентом. После того как соединение установлено начинаем читать данные: int n. Bytes = handler. Receive(rec. Bytes. Команды клиента закодированы однобайтовым кодом (описаны в начале программы), сервер расшифровав код команды начинает ее выполнять, после этого снова переходит в режим ожидания. Исключением является code. Msg, т. к. Поэтому, получив эту команду сервер снова читает данные с сокета: n. Bytes = handler. Receive(rec. Bytes). if (n. Bytes != 0). Message. Box создает модальное окно, которое блокирует поток всего приложения. Другими словами, пока открыто окно с сообщением наш сервер ничего не делает. Минус конечно, но за простоту надо платить. Процедуру, изменения ориентации экрана, расписывать не буду, ее код я выполнил так как рекомендует Microsoft вот тут. Как повернуть экран средствами . NET я не нашел. Это легко осуществимо для мобильных платформ, а вот для обычного PC оказалась неразрешимая проблема. Но, на помощь пришел старый добрый WINAPI и все разрулил. Выключаем компьютер штатными средствами Windows, путем вызова команды shutdown с соответствующими флагами. С сервером, пожалуй, все. Исходный код проекта я прикреплю в конце статьи. Клиент. Клиент будем писать в Android Studio, поскольку мне эта IDE больше нравится чем Eclipse. Любителям последнего думаю не составит больших трудностей переделать проект. Для отладки я использовал Virtual. Box с установленной виртуальной машиной Android, ибо родной эмулятор жутко тормозной, и жизни не хватить что бы с его помощью что- то отладить. Ну и периодически проверял на «живом» телефоне. Итак, создаем проект с именем Funny. Joke, задаем минимальную версию API, которую способен утянуть ваш телефон (у меня 1. Empty Activity. Все остальное по умолчанию. Делаем разметку представления. С дизайном я шибко не извращался, кому надо пускай рисует красивые кнопки, размещает их по фен Шую и т. Я сделал просто: два поля типа Edit. Text, первое для ввода ip адреса контролируемого компьютера, второе для текста сообщения, и кнопка, которая заставит поворачиваться рабочий стол. А вот кнопку завершения работы я сделал большую и угрожающее красную. Это чтоб случайно не нажать. Надо сказать, что это единственная проверка на правильность введенных данных, все остальное остается на совести пользователя. Еще хочу cказать о кнопке btn. Power. Off ее состояние отслеживает селектор, и в зависимости от того нажата она или нет меняет изображение (иначе, не понятно произошло ли нажатие, кнопка будет выглядеть как статичная картинка). Вот код селектора button. Получится вот такой экран: На этом с разметкой закончим. Переходим к файлу Main. Activity. java. В первую очередь, так же, как и в сервере, определяем коды команд и некоторые переменные: String ser. Ip. Address; // адрес сервера. String msg; // Сообщение. Msg = 1; // Оправить сообщение. Rotate = 2; // Повернуть экран. Poff = 3; // Выключить компьютер. Command. Далее переходим к обработчику нажатия кнопок. Обратите внимание, что обработчик один, и какая копка была нажата определяем по идентификатору. В первую очередь получаем строку с поля ed. IPaddress, если поле не заполнено, то выводим сообщение о необходимости ввода ip адреса, и больше ничего не делаем. Click (View v). . К таким долгоиграющим процессам относится и работа с сетью. В этом случае необходимо создать дополнительный поток, в котором и выполнять “долгий” код. В java есть стандартный класс Thread, который позволяет управлять потоками но, его мы использовать не будем, т. Подробно можно почитать здесь или здесь. Потом создаем сокет, связываем его с удаленным адресом и портом, и запрашиваем стандартный поток ввода/вывода (вернее только вывода, потому что наш клиент ничего не получает). И наконец, в зависимости от значения переменной code. Command, посылаем сообщение серверу. Теперь вернемся к нашему обработчику нажатия кнопок, создадим экземпляр класса Sender. Thread, затем в зависимости от того какая кнопка была нажата инициализируем переменную code. Command, по ней наш поток будет определять что мы от него хотим. И наконец, активируем, вызвав метод execute(). Можно собирать и проверять. Новые онлайн биткоин казино 2. Чувствуйте себя как дома на БИТКОИНКАЗИНО. РФ - очень надеемся стать вашим надёжным и доверенным гидом в мире азартных онлайн игр на биткоины! Начиная с июня 2. С нашей помощью тысячи игроков и игорных энтузиастов по всеми миру уже получили доступ к наиболее проверенному и регулярно обновляющемуся списку лучших bitcoin казино, покер румов и букмекеров. Оставайтесь с нами, чтобы быть в курсе всех самых последних новостей про биткоин онлайн казино, актуальных бонусов и отзывов от других игроков. Bitcoin (или сокращённо BTC) появился не так давно, в 2. С каждым месяцем всё больше и больше брендов онлайн казино, букмекерских контор и покер комнат подключают биткоин, либо дополнительно к остальным имеющимся платёжным системам и другим крипто валютам, либо же и вовсе делают её основным методом для ввода или вывода средств. Среди них можно заметить не только недавно открывшиеся и малоизвестные, но и всемирно известные и проверенные годами бренды. А главная цель внедрения биткоина - это соответствие всем желаниям и потребностям своих игроков, чтобы оставалась возможность игры в любимых казино в виртуальные игровые автоматы и настольные игры с живыми диллерами, возможность сделать ставки на спортивные события и играть в онлайн покер на биткоины, но при этом самое важное - полностью сохранять анонимность своих клиентов и их действий. На большинстве биткоин гемблинг сайтах вам даже не придётся регистрировать игровой аккаунт, а если и придётся, то лишь с внесением минимального количества данных, которые будут необходимы исключительно для безопасного входа в систему. Некоторые bitcoin онлайн казино даже не спросят ваш имейл, имя, фамилия или любые другие личные данные. После столь быстрой регистрации вам останется лишь пополнить баланс биткоинами, сделав мгновенный депозит, после чего можно будет сразу же начать играть в любимые игры. Комиссионные, которые взимаются за обработку BTC платежей - мизерные в сравнении с 3- 5% от суммы перевода, которые берут . Биткоин существует именно для того, чтобы вы могли выводить выигрыши, при этом . Кроме того, вам не придётся обменивать выигранные биткоины на реальные валюты, так как уже сегодня сотни интернет- магазинов и других розничных точек по всему миру с удовольствием продадут товары и услуги за ваши биткоины. Особой популярностью биткойн онлайн казино пользуются среди стран, где закон либо частично, либо полностью ограничивает любую игровую деятельность. Например, это отличное решение проблемы для большинства игроков стран СНГ, которые испытывали различные сложности в поисках подходящего казино и игры на игровых сайтах уже начиная с 2. А на нерегулируемых рынках (например в США), игрокам приходилось делиться своим выигрышем с государством, в некоторых случаях игроки теряли почти половину своих честно заработанных денежных средств. Но теперь, благодаря биткоинам, игроки любых стран смогут, не отвлекаясь на посторонние факторы, полноценно насладиться игрой в популярных и любимых играх, мгновенными депозитами с минимальными сборами комиссии и невероятно быстрыми кешаутами. И конечно же, не забываем и повышенной безопасности вашего биткоин кошелька и полной игровой анонимности. Это означает, что при желании всегда можно убедиться в честности любой игры в казино или сделанной спортивной ставки, проверив полученный результат конкретной игры через специально выработанный криптографический алгоритм SHA2. В нескольких словах, честность, безопасность и надёжность, являются одними из основных вещей, о которых мы заботимся больше всего, и мы постараемся сделать всё возможное, чтобы продолжать держать вас в курсе всей последней и наиболее актуальной информации о лучших онлайн казино на биткоины, их новостях и бонусах. На нашем сайте вам будут доступны акции от легальных, лицензированных и юридически урегулированных биткоин казино, которые смогут обеспечить полную сохранность средств на балансе вашего игрового аккаунта и его личных данных. Мы настоятельно рекомендуем вам доверять ваши биткоины только проверенным онлайн биткоин казино, покер румам и букмекерам, в противном случае мы не можем гарантировать вам честную игру и сохранность биткоинов. На нашем сайте вы узнаете всё самое интересное не только про лучшие биткоин казино, но и про все предлагаемые ими онлайн игры на биткоин: рулетка, блекджек, баккара, кости и покер (каждая из которых уже доступна для игры с живыми диллерами), и конечно же сотни самых востребованных и популярных онлайн игровых автоматов и слотов всех видов. С нашей помощью, вы обязательно найдёте биткоин казино с вашими любимыми играми. Как насчёт того, чтобы получать самые выгодные игровые предложения и самые большие бонусы от казино? И об этом мы тоже позаботимся. Именно на нашем сайте вы узнаете про все последние биткоин депозитные и бездепозитные бонусы, бесплатные раздачи призов и фриспины, еженедельные и ежемесячные конкурсы и гонки. Поверьте, у вас всегда будет многочисленные возможности увеличить ваш банкролл не только биткоинами, но и дополнительными призами, такими как востребованной и ценной электроникой (телефоны, планшеты, игровые приставки) и конечно же пакетами на живые оффлайн покер турниры, эксклюзивные мероприятия от казино и многое, многое другое. Просто перейдите в раздел . Узнайте больше о ключевых предпринимателях и энтузиастов, инвестициях в развитие биткоина, безопасность вашего BTC кошелька (кстати, если у вас ещё его нет, то вам обязательно нужно получить, чтобы в будущем совершать и получать bitcoin выплаты и играть в онлайн казино биткоин), инструменты для оплаты, прогнозы обменного курса биткоина, различных политических и юридических вопросах и ситуациях, связанных с биткоинами в разных странах мира, местах и веб- сайтах, предлагающих товары и услуги за биткоины. Именно для этого мы создали отдельный раздел с рейтингом и обзорами всех наиболее популярных Bitcoin казино, букмекерских контор и покер комнат. Посетите раздел обзоров, где вы найдёте полный список игорных биткоин сайтов, их обзоры, сравнение бонусов и игровой среды, узнаете о поддержке игроков (суппорт) и всех плюсов и минусов, после чего ваш выбор станет более очевидным. Вы также узнаете, доступно ли выбранное вами казино для игры на мобильных устройствах, ведь всё больше и больше игроков предпочитают играть в казино игры на биткоины с i. OS и Android девайсов. Поэтому каждое уважающее себя онлайн казино стремится как можно скорее добавить возможность игры игры с телефонов и планшетов, чтобы удовлетворять нужды своих игроков и конкурировать с другими брендами. В наших обзорах вы также узнаете об доступных альтернативных платёжных системах/валютах (Skrill, Neteller, Webmoney, Pay. Pal и другие), через которые в случае необходимости также можно пополнить баланс вашего игрового аккаунта.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
January 2017
Categories |