Программа для управления компьютером со смартфона. Управление компьютером с андроида

02.04.2018

Вопрос о том, как управлять компьютером через телефон возникает в головах многих пользователей. Ведь это так удобно, например, лежать в постели, слушая музыку с ПК, и переключать песни, делать тише или громче, не вставай с места. Или, допустим, вы вышли из дома, и вам срочно нужно что-то сделать на вашем компьютере или просто выключить его, а под рукой есть только телефон. Также этот метод подойдёт для того, чтобы помочь товарищу, можно будет увидеть всё, что делается у него на мониторе и принять участие в управлении ПК. В общем, целей у этой задачи множество.

Управление компьютером через телефон или планшет можно легко реализовать, если у вас есть аппарат под управлением Android. В этой статье я покажу вам самый простой и доступный метод реализации.

Как управлять компьютером через телефон/планшет на Android

Для того чтобы сделать удалённый доступ к ПК через телефон или планшет, вам следует позаботиться о том, чтобы в вашем распоряжении были следующие вещи:

  • устройство с Android, имеющее доступ к интернету;
  • компьютер с доступом в интернет (операционная система значения не имеет);
  • браузер , установленный на компьютере.

Перед тем, как управлять компьютером через телефон, скачайте и установите на свой Android приложение «Удалённый рабочий стол». Ссылки для скачивания есть ниже.

Затем на компьютере откройте браузер Google Chrome, Авторизуетесь в нём, используя аккаунт Gmail, перейдите в и скачайте дополнение для браузера.

Потом в браузере Google Chrome перейдите по адресу chrome://apps/ и откройте только что установленное дополнение «Удалённый рабочий стол».

Появится такое окно, где нужно нажать кнопку «Начало работы».

Затем нажмите кнопку «Разрешить удалённые подключения».

Начнётся скачивание хоста. Скачайте его и установите на компьютер как обычную программу. После этого в Google Chrome нажмите «Ok».

Затем в открывшемся окне дважды введите пин-код. Придумайте что-то сложное, так как, зная этот код, можно получить доступ к вашему компьютеру. Потом нажмите кнопку «Ok».


Программы для удаленного администрирования всегда пользовались популярностью. Ведь это очень удобно — посмотреть, что делается на компьютере, находясь совершенно в другом месте. Удаленно можно помочь знакомым решить какие-то технические проблемы, проверить, чем занимается ребенок, когда он находится один дома, посмотреть, как идет загрузка в торрент-клиенте или кодирование большого видеоролика.

С тех пор как в домашних локальных сетях, наряду с компьютерами и ноутбуками, появились смартфоны и планшеты, стало очевидно, что последние невероятно удобно использовать для удаленного управления. Если скорость передачи данных достаточно высока, то почему бы не поиграть в игру, установленную на компьютере, лежа с планшетом на диване? Или, скажем, не посмотреть интересный фильм? Кроме этого, нынешние мобильные устройства могут прекрасно справляться и с привычными задачами, которые возлагаются на программы для удаленного доступа.

В Google Play можно найти больше десятка приложений, при помощи которых возможна организация удаленного управления компьютерами, работающими на базе Windows, Mac и Linux. Среди них есть и разработки известных производителей ПО для администрирования, и программы, созданные специально для мобильных устройств. Бесплатных решений среди них не так и много. В этом обзоре мы протестировали четыре приложения, при помощи которых можно удаленно работать на компьютере с Android-смартфона или планшета.

⇡ Microsoft Remote Desktop

  • Разработчик — Microsoft Corporation
  • Размер — 4,4 Мбайт
  • Цена — бесплатно

Фирменная утилита от Microsoft для удаленного управления компьютером с Android увидела свет совсем недавно — в конце октября. При помощи приложения можно управлять компьютером, который работает на Windows 7 или Windows 8. Поскольку мы имеем дело с «родным» решением от разработчика настольной операционной системы, никакого клиента на нее устанавливать не нужно.

Но для того чтобы иметь возможность подключиться, все же нужно внести некоторые изменения в настройки системы: перейти на «Панели управления» в раздел «Система» и выбрать пункт «Настройка удаленного доступа». После этого нужно разрешить удаленные подключения к компьютеру (кстати, если встроенный брандмауэр отключен, Windows включить удаленный доступ не позволит, так что для начала придется запустить соответствующую службу).

Для авторизации Android-приложение Microsoft Remote Desktop использует системные имя пользователя и пароль. Если вы собираетесь входить под логином администратора, никаких дополнительных действий на компьютере выполнять не нужно. Чтобы разрешить доступ другим пользователям, нужно нажать на кнопку «Выбрать пользователей» и добавить их в список пользователей удаленного рабочего стола. Также стоит иметь в виду, что, если для входа в систему не используется пароль, его обязательно нужно добавить в разделе «Учетные записи пользователей», так как без пароля удаленное подключение работать не будет. (Учтите, что удаленное подключение с помощью Microsoft Remote Desktop возможно только к компьютерам, поддерживающим Remote Desktop Protocol — RDP. Список систем, которые дружат с этим протоколом, доступен по ссылке . — прим. ред . )

После завершения этой несложной настройки можно скачивать приложение Microsoft Remote Desktop из Google Play и добавлять новое подключение.

В его настройках указывается IP-адрес компьютера в локальной сети или же его имя. Также при желании можно указать логин и пароль для входа (из соображений безопасности можно не указывать их сразу, а ввести прямо перед подключением).


Если подключение прошло успешно, локальная работа с компьютером будет заблокирована и на нем вылезет окно входа в систему. Если войти в систему локально, удаленное подключение будет разорвано. Таким образом, при удаленном подключении можно видеть рабочий стол только на экране мобильного устройства.

После подключения удаленный рабочий стол отображается на экране устройства. В верхней части экрана доступно два элемента управления: кнопки для отображения виртуальной клавиатуры Android и для навигации по экрану.


Если требуется использовать клавиши, которых нет на Android-клавиатуре, касанием по панели с названием подключения можно вызвать панель дополнительных настроек. С нее осуществляется переход к виртуальной клавиатуре с клавишами F1-F12, Esc, Home, Tab, End, Win, Ins, Enter и другими — стандартными для обычного десктопного манипулятора. При удаленном подключении к устройству с Windows 8 нажатие виртуальной клавиши Win приводит к переключению между рабочим столом и стартовым экраном.


С панели дополнительных настроек также можно отключить мультисенсорные жесты и перейти в режим навигации с использованием обычного курсора.

Для завершения сеанса удаленного подключения достаточно дважды коснуться кнопки «Назад» на Android-устройстве.

⇡ «Teamviewer — удаленный доступ»

  • Разработчик — Teamviewer
  • Размер — 11 Мбайт
  • Цена — бесплатно для некоммерческого использования

Благодаря бесплатному статусу (для некоммерческого использования) и простоте Teamviewer уже в течение долгого времени остается одним из самых популярных решений для удаленного администрирования. С наступлением эры мобильных устройств были созданы и приложения для управления компьютерами с Android, iOS и Windows Phone.

Чтобы управлять компьютером с мобильного устройства, потребуется установка клиента для ПК и приложения для Android. TeamViewer может подключаться к компьютерам с Windows, Mac и Linux.

Если с компьютера не планируется осуществлять подключения к другим устройствам, удобнее всего использовать TeamViewer QuickSupport. Этот модуль не требует установки и прав администратора. После его запуска генерируется уникальный идентификатор компьютера (9 цифр), а также пароль из четырех цифр. Пароль в случае необходимости можно обновить.

После того как этот модуль запущен, можно открывать мобильное приложение. Мобильный Teamviewer может работать в двух режимах: удаленного управления и передачи файлов. И в том и в другом случае на экране смартфона или планшета потребуется ввести идентификатор и пароль для подключения к компьютеру.


Если было запрошено удаленное подключение, то после успешного соединения на экране устройства появится рабочий стол компьютера. На экране монитора компьютера он тоже будет виден, однако разрешение будет изменено в соответствии с настройками экрана мобильного устройства.


Для обеспечения удобной работы с удаленным рабочим столом создатели TeamViewer разработали целую систему элементов управления. Подсказки по использованию пальцев для навигации показываются перед подключением, их также можно отобразить в любой момент во время сеанса удаленной работы. Так, при помощи пальцев можно выполнять скроллинг, имитировать щелчки правой и левой кнопок мыши, передвигать курсор и отдельные объекты.


Панель управления TeamViewer размещена в нижней части экрана. С ее помощью можно быстро завершить сеанс, отправить удаленный компьютер на перезагрузку или блокировать его. Кроме этого, на время сеанса удаленного подключения можно запретить локальную работу с компьютером. Если с отображением удаленного рабочего стола наблюдаются проблемы, можно попробовать уменьшить разрешение, качество передачи данных, а также скрыть показ обоев в настройках мобильного клиента. Эти параметры могут быть выбраны как для отдельного подключения, так и глобально.


Панель управления также дает возможность быстро отобразить виртуальную клавиатуру. Кроме Android-клавиатуры, можно также работать с дополнительными клавишами: включать Ctrl, Alt, Shift, пользоваться клавишами F1-F12 и другими.

В режиме передачи файлов можно увидеть файловую систему удаленного компьютера и скопировать файлы с ПК на мобильное устройство или наоборот.


Мобильный клиент TeamViewer запоминает идентификаторы компьютеров, к которым выполнялось подключение, но если удаленных ПК много, для управления ими удобнее использовать раздел «Компьютеры и контакты». Для этого потребуется создать учетную запись Teamviewer (можно сделать это как с мобильного устройства, так и с компьютера). Далее в ней можно создавать группы и добавлять идентификаторы (а при желании — и пароли) компьютеров, к которым нужно подключиться.

  • Разработчик — Splashtop
  • Размер — 18 Мбайт
  • Цена — бесплатно (расширение функциональности — $1,99 в месяц)

Splashtop Remote — еще одно бесплатное приложение, при помощи которого с Android-устройства можно управлять компьютером с Windows, Mac и Linux. Тут используется немного иная модель распространения, нежели в Teamviewer. Для некоммерческого использования программа бесплатна, но для задействования некоторых дополнительных возможностей предлагается купить расширение. Среди платных опций: доступ к удаленному компьютеру через Интернет (бесплатно можно управлять только по локальной сети) и средства для удобного создания аннотаций на экране. Также бесплатная версия имеет ограничение на количество компьютеров, к которым можно подключаться, — до пяти.

Для работы с приложением необходима учетная запись Splashtop. Создать ее можно как в мобильном приложении, так и в клиенте Splashtop Streamer для настольной системы. Для осуществления подключения, как нетрудно догадаться, нужно войти на обоих устройствах под своей учетной записью. После этого мобильный клиент обнаружит компьютеры, доступные для подключения, и можно будет открыть сеанс удаленного управления.

В настройках мобильного клиента можно даже включить автоматическое подключение при запуске. В этом случае список доступных компьютеров отображаться не будет и приложение подключится к устройству, для которого сеанс удаленного соединения выполнялся последним.


По умолчанию никаких дополнительных паролей вводить не нужно, но, если вас беспокоит проблема несанкционированного доступа, в настройках настольного клиента можно включить запрос пароля для текущей учетной записи Windows. Кроме этого, предлагается использовать код безопасности, то есть, попросту говоря, пароль, который потребуется каждый раз вводить для подключения.


Некоторые настройки безопасности, которые в других решениях доступны в мобильных приложениях, в Splashtop предлагается настроить в настольном клиенте. Например, можно отключить показ рабочего стола на экране локального компьютера во время сеанса удаленной связи. Также можно заблокировать использование клавиатуры и мыши, инициировать выход из учетной записи по завершении удаленной работы.

Одна из особенностей Splashtop — передача на мобильное устройство HD-видео со звуком. Благодаря этому можно, например, смотреть на планшете фильм, который запущен на компьютере, или удаленно играть в компьютерную игру. По желанию пользователя во время сеанса удаленной связи Splashtop может передавать звук только на мобильное устройство (локально он слышен не будет), не передавать звук (будет слышен локально) или же транслировать его и там и там.


При удаленном подключении разрешение экрана на компьютере не меняется, и — если иное не было задано в настройках клиента — можно продолжать работать на локальном ПК. Для управления рабочим столом компьютера с Android предусмотрен ряд жестов (для новичков предлагаются подсказки по их использованию), а также сенсорная панель.


Параметрами курсора можно управлять, изменяя чувствительность и скорость движения. На мобильном устройстве можно просматривать рабочий стол компьютера в исходном разрешении или же масштабировать его под размер маленького экрана.


  • Разработчик — Wyse Technology Inc.
  • Размер — 11 Мбайт
  • Цена — бесплатно (с некоторыми ограничениями)

Еще одно бесплатное решение, при помощи которого можно удаленно получить доступ к рабочему столу компьютера, — это PocketCloud. Правда, для пользователей Linux оно не подойдет — десктопная версия поддерживает только компьютеры с Mac или Windows. Мобильный клиент бесплатен для использования лишь с одним компьютером. Для снятия этого ограничения, а также для получения некоторых дополнительных функций нужно приобрести PocketCloud Remote Desktop Pro.

Одна из сильных сторон приложения — возможность выбора типа подключения. По умолчанию используется самый простой способ, не требующий от пользователя никаких технических знаний, — через Google App Engine. В этом случае требуется ввести данные своей учетной записи Google в программе-клиенте для рабочего стола и в мобильном приложении. После этого компьютер появится в списке доступных устройств на мобильном экране — и можно будет начать сеанс подключения к нему.


Для продвинутых пользователей PocketCloud предлагает еще два варианта удаленного подключения — через протокол RDP, который используется в Windows, а также через популярную систему VNC. И в том и в другом случае необходимо будет вводить IP-адрес компьютера, к которому требуется подключиться.

После подключения на экране мобильного устройства возле курсора появляется специальный элемент навигации — колесико с различными функциями. Им удобно пользоваться, если нужно выполнить щелчок правой кнопкой мыши, приблизить определенную область экрана, выполнить скроллинг или отобразить виртуальную клавиатуру.

В настройках мобильного клиента предусмотрен ряд настроек для повышения качества передачи изображения. Так, можно отключить анимацию меню, темы, обои, шрифты высокого качества.

⇡ Заключение

Почти все разработчики приложений для удаленного управления компьютером бесплатно предоставляют свои программы для некоммерческого использования. И нужно признать, что для обычных задач предлагаемых функций вполне достаточно. Каждое из приложений чем-нибудь привлекательно: для работы с Microsoft Remote Desktop не нужно устанавливать дополнительное ПО на компьютер, Splashtop Remote обеспечивает передачу звука на мобильное устройство, PocketCloud интересен тем, что предлагает несколько вариантов подключения. Наконец, Teamviewer выглядит привлекательнее всего, так как имеет отдельный режим для передачи файлов, может работать как в локальной сети, так и через Интернет, ну и не накладывает ограничений на число компьютеров, к которым можно подключаться.

Хотите управлять компьютером со смартфона или планшета? В этой статье мы расскажем о популярных и наиболее распространенных сервисах, обеспечивающих возможность удаленного управления компьютером с мобильных устройств (планшетов, смартфонов).


Конечно, сложно сравниться с TeamViewer по удобству использования, но Microsoft все же удалось создать довольно практичный сервис. Главной особенностью Microsoft Remote Desktop является то, что для удаленного управления вам не придется устанавливать на компьютер никаких приложений: будут использоваться стандартные средства ОС Windows.

НАСТРОЙКА

Все, что вам нужно сделать на компьютере - внести соответствующие настройки. Во-первых, в разделе «Панель управления» - «Система» - «Настройка удаленного доступа» следует разрешить подключения удаленных компьютеров (рекомендуется выбрать опцию «с проверкой подлинности» ).

После этого следует указать, с помощью каких учетных записей на данном компьютере можно осуществлять удаленное подключение. Отметим, что обязательным условием является наличие пароля, без него вы не сможете установить удаленное соединение. Поэтому если вы используйте компьютер без пароля, перейдите в раздел «Панель управления» -
«Учетные записи пользователей» и выберите ссылку «Изменение своего пароля» .

ПОДКЛЮЧЕНИЕ

Установите на смартфон или планшет программу . Она доступна для бесплатной загрузки в Google Play или же по ссылке tsmm.do.am/mrd.apk (4,4 МБ). Версия для ОС Windows Phone: tssm.do.am/mrd.appx (2,7 МБ) . Добавьте новое подключение, нажав на кнопку «+» .

Придумайте произвольное имя для создаваемого подключения, а затем введите имя компьютера, к которому вы планируете подключиться (посмотреть его можно в разделе «Панель управления» - «Система» ). Также укажите имя пользователя и пароль от этой учетной записи. Если вы правильно ввели все параметры, то рабочий стол на компьютере будет заблокирован, а вы получите доступ к нему с мобильного устройства. Одновременно работать на компьютере и удаленно управлять им со смартфона в Microsoft Remote Desktop не получится.


Признанным лидером в списке софта для удаленного управления компьютером является сервис TeamViewer. Приложение совершенно бесплатно для некоммерческого использования.
Программу для установки на ПК вы можете загрузить с официального сайта teamviewer.com или по ссылке tsm.do.am/tr.rar (6,5 МБ). Мобильная версия программы доступна как на официальном сайте, так и по адресу mbr.at.ua/tr.apk (12,4 МБ). Отметим, что мобильная версия приложения доступна не только для ОС Android, но и для iOS, и для Windows Phone.

ПОДКЛЮЧЕНИЕ

Для удаленного подключения к компьютеру вам необходимо запустить приложение на ПК. Здесь вы получите уникальный код доступа к данному компьютеру и динамический пароль (который при следующем запуске программы будет изменен). Именно их и нужно использовать для удаленного подключения к компьютеру. Отметим, что вы можете настроить постоянный пароль для удаленного подключения (или вовсе активировать учетную запись в системе TeamViewer), чтобы получить постоянный доступ ко всем своим компьютерам.

Отметим, что TeamViewer можно использовать и для прямой передачи файлов между двумя устройствами, а также для управления компьютером с другого компьютера.

Если вы хотите использовать смартфон или планшет для удаленного управления плеером на компьютере (ставить видео на паузу, не вставая из кресла, или просто регулировать громкость), можно использовать простое и легкое приложение под названием «Пульт».

Если в Microsoft Remote Desktop и TeamViewer вы получали полноценный доступ к рабочему столу компьютера, то при использовании этого приложения придется довольствоваться его собственным интерфейсом (виртуальными кнопками).

УСТАНОВКА

Скачать программу Remote Control вы сможете с официального сайта alexsoft.in . Здесь вы найдете ссылки на программу для ПК, а также мобильные приложения для Android и Windows Phone. Также вы можете воспользоваться прямыми ссылками: ПК: i.mp/mobilux7209 (25,2 МБ) Android: mbr.at.ua/rc.apk (2,9 МБ) Windows Phone: mbr.at.ua/rc.xap (2,1 МБ)

ПОДКЛЮЧЕНИЕ

Запустите программу Remote Control на компьютере, а затем - на смартфоне. Для поиска удаленного сервера зайдите в настройки (кнопка внизу), выберите команду «Поиск сервера» и в открывшемся окне нажмите «Поиск» . Отметим, что по умолчанию программа находит ваш роутер, подключаться к нему нет смысла, вы должны дождаться появления в списке «серверов» вашего компьютера.

Выбрав нужный вариант в списке, проверьте, корректно ли работает программа, нажав, например, кнопку выключения громкости. Теперь вы без проблем сможете управлять аудио и видеоплеерами со смартфона или планшета!

Здравствуйте, Уважаемый Читатель!
. Если наш ресурс чем-то Вам стал полезным, мы будем благодарны за любой Ваш взнос (Webmoney Z667342162966, R290774558293). Все собраные средства будут потрачены на оплату контент менеджера.
Команда сайт делает все, что бы донести до своих читателей максимально достоверную информацию о планшетах. Но если Вы уже пользуетесь им, мы будем очень благодарны, если Вы напишите свой отзыв, ведь именно мнение пользователей ценнее любого обзора и теста!
Заранее, спасибо!

  • Tutorial

Начало

А началось все с того, что вызывает меня генеральный к себе, и говорит: «Вот видишь телефон? Хочу чтобы там была кнопка, я на нее нажимаю, и у меня в ноутбуке кино включается. Нажимаю другую – музыка играет.» И еще чего-то много наговорил, уж не помню. «Задача понятна? Выполняй!» Вот уж не знаю, с чего такая потребность у него возникла. То ли звезды не под тем углом встали, то ли сон какой приснился. Короче, не поймешь этих богатых… Ну да ладно.

Поначалу полез рыться в Гугл в поисках подходящей программы, а потом подумал – а какого черта? Напишу сам. Тем более, что задача не показалась сложной, да и “зов кода” уже давал о себе знать (этакая профессиональная it-ломка). Вот и решил соединить Windows и Android собственными силами.

То, что он просил, я сделал за пару дней. Но здесь я не хочу городить много кода, проверок и обработок исключений и т.п. Статья скорее предназначена для самых маленьких, как основа, опираясь на которую, можно построить что-то более масштабное. Ни в коем случае не претендую на оригинальность, явно кто-то что-то подобное писал, я просто предлагаю свой вариант. В общем, всем, кому интересно, посвящается.

Что мы имеем

Значит так. С одной стороны, у нас телефон с Android на борту, с другой - Windows с установленными программами, притом некоторые из этих программ нам надо запускать, подав команду с телефона.
Телефон и компьютер свяжем через локальную сеть, тут без вариантов (ну не смски же посылать). Таким образом, будем писать две программы. Первая - это сервер, работающий на компьютере, задача этой программы - открыть и слушать порт. Если на этот порт падает что-то полезное, то выполнить заданное нами действие. Вторая программа - это клиент, запущенный на телефоне, ее задача обработать действия пользователя, подключиться к серверу и передать информацию.

Немного о сокетах

Тема программирование сокетов до того уже заезженная, что и особо говорить нечего. Но все же в двух словах, для тех, кто не любит ходить по ссылкам.

Сокет - это программный интерфейс, который позволяет устанавливать связь между двумя процессами, используя протокол tcp/ip. Сокет ассоциирован с двумя аспектами: ip-адресом и портом. Где ip-адрес - это адрес хоста (компьютера) в сети, с ним работает протокол IP. Port - это идентификатор приложения, к которому адресовано соединение, тут работает протокол TCP. Порт может быть как TCP, так и UDP, в этой статье я буду использовать только TCP. Поскольку ip-адрес является уникальным как в сети интернет, так и в локальной сети, то он однозначно определяет адрес отправителя и адрес принимающего. Порт же является уникальным в пределах операционной системы, он определяет приложение, с которым мы хотим взаимодействовать. Порты могут быть стандартными, например, 80 закреплен за HTTP, или 3389 - RDP. Вы можете использовать любой незанятый порт, но стандартные лучше не трогать. Очень хорошо и с примерами о сокетах написано .

Сервер. Начинаем хулиганить

Запускать Aimp, Windows Media Player и т.п. даже с телефона - это не интересно, да и на базе этой статьи вы сможете все это легко реализовать, немного переделав код. Давайте лучше побезобразничаем. Будим крутить-вертеть экран монитора как нам вздумается или выводит неожиданные сообщения (этакий однонаправленный ацкий мессенджер), и самое ужасное - выключим компьютер! Правда, за это могут и на вилы надеть. Ну да ладно, пускай сначала поймают.

Итак, приступим. В Visual Studio создаем новое Windows Form приложением с именем, скажем, FunnyJoke. Открываем файл Program.cs и удаляем весь код в теле функции Main. Этот код инициализирует главную форму приложения, нашему серверу никакие окна не нужны, он должен сидеть тихо мирно и ждать команд.

В классе Program определим следующие переменные:

// Порт static int port = 10000; // Адрес static IPAddress ipAddress = IPAddress.Parse("0.0.0.0"); // Оправить сообщение const byte codeMsg = 1; // Повернуть экран const byte codeRotate = 2; // Выключить компьютер const byte codePoff = 3;
Я взял порт 10000, именно его и будет слушать наш сервер, вместо ip адреса задал 0.0.0.0 это говорит о том, что будут обрабатываться все доступные сетевые интерфейсы. Это не совсем правильно, но для начала сойдет. Далее я определил три константы, которые задают коды команд, приходящие от клиента. В начале проекта не забываем подключить:

Using System.Net; using System.Net.Sockets;
Теперь, вместо удаленного кода в функции Main вставляем следующий:

Main

static void Main() { // Создаем локальную конечную точку IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, port); // Создаем основной сокет Socket socket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp); try { // Связываем сокет с конечной точкой socket.Bind(ipEndPoint); // Переходим в режим "прослушивания" socket.Listen(1); while (true) { // Ждем соединение. При удачном соединение создается новый экземпляр Socket Socket handler = socket.Accept(); // Массив, где сохраняем принятые данные. byte recBytes = new byte; int nBytes = handler.Receive(recBytes); switch (recBytes) // Определяемся с командами клиента { case codeMsg: // Сообщение nBytes = handler.Receive(recBytes); // Читаем данные сообщения if (nBytes != 0) { // Преобразуем полученный набор байт в строку String msg = Encoding.UTF8.GetString(recBytes, 0, nBytes); MessageBox.Show(msg, "Привет Пупсик!"); } break; case codeRotate: // Поворот экрана RotateScreen(); break; case codePoff: // Выключаем System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "shutdown.exe"; p.StartInfo.Arguments = "-s -t 00"; p.Start(); socket.Close(); break; } // Освобождаем сокеты handler.Shutdown(SocketShutdown.Both); handler.Close(); } } catch (Exception ex) { } }


Пример хорошо комментирован. Но все же поясню. Сначала создаем локальную конечную точку и ассоциируем ее с нашим ip адресом и портом. Затем, определяем основной сокет, связываем его с конечной точкой, и переводим в режим прослушивания. После этого входим в бесконечный цикл, и начиная со строки:

Socket handler = socket.Accept();
наш сервер переходит в состояние ожидания соединения. При удачном соединении создастся новый экземпляр Socket, посредствам которого мы и будем общаться с нашим клиентом. После того как соединение установлено начинаем читать данные:

Int nBytes = handler.Receive(recBytes
Команды клиента закодированы однобайтовым кодом (описаны в начале программы), сервер расшифровав код команды начинает ее выполнять, после этого снова переходит в режим ожидания. Исключением является codeMsg , т.к. после нее ожидается набор байт, содержащий строку сообщения. Поэтому, получив эту команду сервер снова читает данные с сокета:

NBytes = handler.Receive(recBytes); if (nBytes != 0) { String msg = Encoding.UTF8.GetString(recBytes, 0, nBytes); MessageBox.Show(msg, "Привет Пупсик!"); }
Строка, приходящая от клиента, имеет кодировку символов UTF-8, поэтому прежде чем показать ее несчастному пользователю, необходимо привести ее к стандартному виду.

Что бы упростить программу, и не создавать лишние диалоги я использовал стандартный класс MessageBox, но у таков подхода есть один недостаток. MessageBox создает модальное окно, которое блокирует поток всего приложения. Другими словами, пока открыто окно с сообщением наш сервер ничего не делает. Минус конечно, но за простоту надо платить.

Процедуру, изменения ориентации экрана, расписывать не буду, ее код я выполнил так как рекомендует Microsoft вот . Как повернуть экран средствами.NET я не нашел. Это легко осуществимо для мобильных платформ, а вот для обычного PC оказалась неразрешимая проблема. Но, на помощь пришел старый добрый WINAPI и все разрулил.
Выключаем компьютер штатными средствами Windows, путем вызова команды shutdown с соответствующими флагами.

С сервером, пожалуй, все. Исходный код проекта я прикреплю в конце статьи.

Клиент

Клиент будем писать в Android Studio, поскольку мне эта IDE больше нравится чем Eclipse. Любителям последнего думаю не составит больших трудностей переделать проект. Для отладки я использовал VirtualBox с установленной виртуальной машиной Android, ибо родной эмулятор жутко тормозной, и жизни не хватить что бы с его помощью что-то отладить. Ну и периодически проверял на «живом» телефоне. Итак, создаем проект с именем FunnyJoke, задаем минимальную версию API, которую способен утянуть ваш телефон (у меня 16) и выбираем Empty Activity. Все остальное по умолчанию. Делаем разметку представления. С дизайном я шибко не извращался, кому надо пускай рисует красивые кнопки, размещает их по фен Шую и т.п. Я сделал просто: два поля типа EditText, первое для ввода ip адреса контролируемого компьютера, второе для текста сообщения, и кнопка, которая заставит поворачиваться рабочий стол. А вот кнопку завершения работы я сделал большую и угрожающее красную. Это чтоб случайно не нажать.

activity_main.xml:

Похожие статьи