Как подключить Android к локальной сети LAN Windows
В этой статье — о том, как подключить ваш телефон или планшет на Android к локальной сети Windows. Даже если у вас нет никакой локальной сети, а компьютер дома всего один (но подключен к роутеру), все равно эта статья будет полезна.
Подключившись к локальной сети, вы сможете иметь доступ к сетевым папкам Windows на вашем Android устройстве. То есть, например, для того, чтобы посмотреть фильм, необязательно его будет скидывать на телефон (его можно воспроизвести прямо из сети), также облегчается и передача файлов между компьютером и мобильным устройством.
Перед подключением
Примечание: руководство применимо в том случае, когда и ваше Android устройство и компьютер подключены к одному Wi-Fi роутеру.
Прежде всего, нужно настроить на компьютере локальную сеть (даже если компьютер только один) и предоставить доступ по сети к нужным папкам, например, с видео и музыкой. О том, как это сделать, я подробно написал в предыдущей статье: Как настроить локальную сеть LAN в Windows.
В дальнейшей инструкции я буду исходить из того, что все, описанное в указанной выше статье уже выполнено.
Подключение Android к Windows LAN
В своем примере для подключения к локальной сети с Андроид я буду использовать бесплатное приложение файловый менеджер ES Проводник (ES Explorer). На мой взгляд, это лучший файловый менеджер на Android и, помимо прочего, в нем есть все необходимое для того, чтобы получить доступ к сетевым папкам (и далеко не только это, например, вы можете подключиться ко всем популярным облачным сервисам, в том числе и с разными аккаунтами).
Скачать бесплатно файловый менеджер для Android ES Проводник вы можете из магазина приложений Google Play https://play.google.com/store/apps/details?id=com.estrongs.android.pop
После установки, запустите приложение и перейдите на вкладку подключения к сети (ваше устройство при этом должно быть подключено по Wi-Fi через тот же роутер, что и компьютер с настроенной локальной сетью), переход между вкладками легко осуществляется с помощью свайпа (жест пальцем с одной стороны экрана до другой).
Далее у вас есть два варианта действий:
- Нажать кнопку Scan, тогда произойдет автоматический поиск компьютеров в сети (если нужный компьютер найден, можете сразу прервать поиск, иначе он может продолжаться долго).
- Нажать кнопку «Создать» и указать параметры вручную. При ручном указании параметров, если вы настраивали локальную сеть по моей инструкции, имя пользователя и пароль не понадобятся, зато нужен будет внутренний адрес IP компьютера в локальной сети. Лучше всего, если вы укажете на самом компьютере статический IP в подсети роутера, в противном случае при включении и выключении компьютера, он может изменяться.
После подключения, вы сразу получите доступ ко всем сетевым папкам, к которым такой доступ разрешен и сможете выполнять с ними нужные действия, например, как уже говорилось, проигрывать видео, музыку, смотреть фотографии или что-то еще на ваше усмотрение.
Как видите, подключение Android устройств к обычной локальной сети Windows — совсем не сложная задача.
Источник
Взаимодействие Android-устройств в локальной сети
Предположим, мы пишем игру для Android, которая подразумевает некое сетевое взаимодействие между устройствами. Причем наши устройства находятся в одной сети и мы хотим, чтобы взаимодействие между ними осуществлялось быстро, а значит вариант с обменом данными через интернет нам не подходит. Ах да, еще одна маленькая ложка дегтя — мы хотим охватить максимально возможную аудиторию, для чего нам необходимо поддерживать Android 2.3.
Что же нам делать? Давайте поговорим об этом, а заодно рассмотрим относительно новые возможности Android SDK для соединения двух и более устройств.
О чем это и для кого это?
Как-то раз, уйдя с предыдущего места работы и погрузившись в заслуженный отдых, я принялся писать сетевую игру, в которую могут играть люди, находящиеся в одной локальной сети. И сразу же столкнулся с тем, что для нормального функционирования подобной игры нам мало соорудить сетевое взаимодействие — нам нужно сделать нормальное и быстрое обнаружение устройств в сети. Собственно, в данной статье я поделюсь своим опытом в реализации решения для данной задачи.
Сразу оговорюсь, что статья предназначена в большей мере для тех, кто имеет опыт Android-разработки, написал несколько приложений и хочет расширить свой кругозор, а также улучшить профессиональные навыки.
Какие возможные способы решения существуют?
- Android Network Service Discovery. Простой и эффективный способ обнаружения устройств. На Android Developer есть пошаговое руководство по подключению NSD, есть пример NsdChat, который можно скачать там же. Но есть один существенный минус — данный метод поддерживается только начиная с API Level 16, то есть с Android 4.1 Jelly Bean;
- Второе решение, предлагаемое нам на сайте Android Developer — Wi-Fi Peer-to-Peer. Проблема этого метода та же самая — поддерживается он только начиная с API Level 16;
- Есть странное решение, которое предлагается некоторыми программистами на Stack Overflow — самостоятельно сканировать локальную сеть на предмет наличия сервера. То есть проходить по всем адресам сети. Это уже сейчас звучит как странный велосипед, а теперь представьте, что порт нашего сервера назначается автоматически. Таким образом, сканирование даже самую небольшой сети становится достаточно долгой и трудоемкой задачей;
- Наконец, мы можем обратить внимание на Java-библиотеки и написать что-нибудь с их использованием. Например, JmDNS.
Последний способ выглядит вполне адекватным и, кажется, может обеспечить нас требуемой скоростью и удобством обнаружения устройств в сети для конечного пользователя.
Я вооружился JmDNS и решил попробовать соорудить несколько классов, которые по максимуму упростят написание описанных выше приложений. Но для начала пришлось немного повырезать дубликаты .class-файлов из jar-пакета JmDNS (проблема описана здесь):
Далее я взял исходный код NsdChat с Android Developer и изменил его служебный класс, который отвечает за инициализацию сокетов и организацию сетевого взаимодействия. Также я написал wrapper для JmDNS
Здесь размещены 4 основные функции для работы Network Discovery:
- startServer для создания сервера и регистрации соответствующего сервиса в локальной сети;
- findServers для поиска серверов;
- reset для окончания работы с Network Discovery и последующего освобождения ресурсов;
- wifiLock для запроса блокировки Wi-Fi.
В завершении я написал универсальный класс ConnectionWrapper для полноценной организации обнаружения, а также обмена сообщениями в локальной сети. Таким образом, создание сервера в конечном приложении выглядит следующим образом:
А вот и mServerHandler, использующийся для приема и обработки сообщений:
Отправка сообщений еще проще:
И, наконец, метод для обнаружения и подключения к серверу:
Как видите, все очень просто. А главное, все это работает в любой версии Android для максимум двух устройств. Но сделать так, чтобы это работало для условно неограниченного числа устройств очень легко, и очевидное решение придет к вам почти сразу после детального изучения класса Connection. Пусть это будет в качестве домашнего задания.
Ах, да, весь код доступен для изучения и использования всеми желающими в моем репозитории на GitHub.. И, конечно, не исключаю то, что некоторые вещи можно сделать лучше и проще, поэтому не стесняйтесь форкать и делать pull request’ы.
Источник
Локальная сеть компьютер android
Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.
Копировать файлы с компьютера или ноутбука (далее ПК) на мобильное устройство (далее Андроид) и обратно требуется часто и (в случае больших файлов) проще всего это делать, используя Wi-Fi.
Основное требование: Все устройства (один или несколько ПК, Андроиды) должны быть подключены к одной сети!
- Простейший способ — SHARE it
Установите на все устройства SHARE it. Программа доступна на Андроид и Windows.
Логика интерфейса программы практически идентична на всех платформах.
На принимающем устройстве выберите «Принять», на отправляющем «Отправить», выберите необходимые для передачи данные и выберите устройство, на которое данные необходимо передать.
Получаем доступ с Андроида к файлам на ПК.
Для этого потребуется установить на Андроид файл-менеджер с поддержкой SMB (Samba). Я пользуюсь ES File Explorer, альтернативы: ASTRO File Manager с плагином Astro SMB Module, eFile, X-plore.
В ES File Explorer все несложно. Нужно перейти на вкладку «LAN», нажать кнопку Меню>Создать>Сканировать. После этого программа проверит весь диапазон IP-адресов и отобразит адреса компьютеров, имеющих папки с общим доступом. Также можно не сканировать сеть, а добавить сервер вручную, указав его IP, и, при необходимости, имя пользователя и пароль.
- Samba-сервер
Для примера используем Samba Server for Android, он позволяет работать с SD-картой коммуникатора, как с расшаренной папкой ПК. Для работы программы требуются root-права.
Устанавливаем и запускаем программу. При первом запуске будет выдана краткая инструкция по использованию. Первый шаг — задать пароль для доступа к ресурсам мобильного устройства. Для этого нажмите Menu>Settings>Password и введите пароль. Там же можно при желании сменить имя пользователя, а также указать рабочую группу (имя должно совпадать с именем рабочей группы в настройках ПК) и NetBIOS-имя Андроида (то, что будет отображаться в сетевом окружении на ПК). После настройки вернемся в главное окно программы и нажмем Menu>Enable. Это запустит сервер SAMBA на Андроиде.
- Часто проблемы с соединением ПК и Андроида вызваны блокировкой мультикаста (Block multicast) в настройках роутера. Отключите это ограничение.
- Для упрощения доступа можно настроить фиксированные IP-адреса для всех устройств локальной сети.[/b]
Если ПК (ноутбук) и Андроид получают IP-адреса по DHCP от роутера, то адреса при каждом включении могут отличаться. Этого бы не хотелось, т.к. ПК с ноутбуком между собой разберутся и найдут друг друга по именам, а вот у Андроида это может не получиться, т.к. он работает с IP-адресами. Тут есть два способа:
Подключение по локальной сети — Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Физический адрес. . . . . . . . . : 00-1F-D0-D4-53-2D
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 192.168.5.2
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.5.1
DNS-серверы . . . . . . . . . . . : 192.168.5.1
Ребрендинг шапки любезно предоставлен Fidelich — тыц.
Сообщение отредактировал Gridzilla — 22.02.16, 11:53
skunsofob,
Имя и пароль пользователя Windows.
Т.е. можно либо вписать имя и пароль того пользователя под которым заходишь в Windows, либо создать отдельного, назвать его, например, Android.
Возможно проблема также в том, что у пользователя Windows отсутствует пароль.
Насчет Win 7 не знаю, но Win XP Pro запрещает доступ к расшаренным папкам пользователям без пароля.
Еще вариант — попробовать поставить в настройках сервера галку «Анонимный вход».
Галку Анонииный вход ставил — не помогает. А паролей у меня действительно нет как на ПК с ХР, так и на ноуте с Win7. Неужеле придется отдельного пользователя создавать под паролем? По проводам сеть делал — паролей не требовалось.
Сообщение отредактировал Бодтэк — 11.10.11, 11:11
Т.е. доступ с ПК на ноут с Win 7 есть и без пароля?
Имя пользователя Win 7 и пустой пароль в настройках ES проводника не срабатывает?
Проверь настройки Win7 в Панель управления -> Сети и Интернет -> Центр управления сетями и общим доступом ->Изменить дополнительные параметры общего доступа (Control Panel -> All Control Panel Items -> Network and Sharing Center-> Change advanced sharing settings), там в самом низу еще раз дополнительные параметры и указать «Отключить защиту паролем». После этого анонимный вход с Андроида должен заработать.
Как вариант — попробуй временно отключить брандмауэр в Win 7. Возможно он мешает.
Сообщение отредактировал raven6 — 09.08.11, 20:42
Логин и пароль пользователя Windows, имеющего доступ к расшаренным папкам.
Так расшарьте какую-нибудь. Без расшаренных папок на ПК вся эта затея теряет смысл.
Правда в Win XP существуют административные ресурсы — все разделы жесткого диска расшарены автоматически с именами типа C$, D$ и т.п. Для доступа к таким ресурсам нужно указать имя и пароль пользователя этого ПК с правами администратора.
Сообщение отредактировал raven6 — 17.08.11, 09:39
Так я никакой логин и пароль не использую для учетной записи (Windows 7)
Да пробовал (создавал папку и расшаривал к ней доступ), не работает все равно, брандмауэр отключал
и нажмите Enter.
После этого будет выдан список всех имеющихся учетных записей пользователей
Временно (ну или постоянно, хотя это небезопасно) отключите парольную защиту расшаренных папок.
Сообщение отредактировал raven6 — 17.08.11, 10:32
Учетная запись есть, но пароль в ней никакой не используется (если не используется что вводить?), почему запрашивается не пойму
Парольную защиту отключил, при конекте к компьютеру, отображаются папки открытые для общего доступа, но при попытке зайти в любую из расшаренных мною папок выскакивает сообщение о неправильном логине и пароле
Анонимный вход в настройках сервера в ES проводнике попробуйте включить.
Сообщение отредактировал raven6 — 17.08.11, 11:14
Включен анонимный вход, все равно не пускает. Пишет: неправильний пароль, возможные причины: недостаточно прав пользователя
Может есть альтернативное решение со значительно простой настройкой?)
Сообщение отредактировал DeaDia — 17.08.11, 11:06
Попробуйте другие файл-менеджеры с поддержкой сети.
Если не заработает, то включите защиту паролем для расшаренных папок и создайте пользователя (например Android) с паролем.
Сообщение отредактировал raven6 — 17.08.11, 11:17
Разобрался.
Итак, диспозиция: Win 7, статический IP, единственный пользователь, созданный при установке, у которого отсутствует пароль.
Если в Win 7 включен общий доступ с парольной защитой (по умолчанию), то ES проводник даже не сможет просмотреть список расшаренных папок, его сразу пошлют, потому что у него документов нету.
Если общий доступ с парольной защитой отключен, то список расшаренных папок в ES проводнике отображается, но доступ можно получить только к папке Users, т.к. к ней по умолчанию разрешен доступ для всех.
Вариантов — два: либо отключить парольную защиту и предоставлять права на доступ к каждой расшаренной папке пользователю гость/Guest (свойства папки>Доступ, там в списке выбрать Guest и нажать добавить), либо не отключать парольную защиту, а создать пользователя, имеющего пароль, и опять же предоставить ему права на доступ к расшаренной папке в том же диалоге. После этого имя и пароль этого пользователя требуется вводить в настройках сервера в ES Проводнике.
По умолчанию Win 7 дает доступ к расшариваемой папке только единственному нашему пользователю, у которого нет пароля, соответственно авторизоваться по сети он не может.
Если Вам не хочется выбирать пользователя при каждой загрузке, то настройте автоматический вход.
Сообщение отредактировал raven6 — 18.08.11, 22:40
Получилось получить доступ к некоторым папкам на компе с телефона. Только под пользователем «Гость» (другие имена никак не хотят восприниматься). Причем сделать общий доступ ко всему диску C:\ не получается. Только если делать для каждой папки по отдельности. Может можно как-то разрешить доступ ко всему содержимому компа более простым способом?
Также по ссылке выше сделал автоматический вход в систему, но при пробуждении опять надо пользователя выбирать тыканьем на значок. А при обычной загрузки — автоматический вход работает. Как можно Windows 7 «объяснить» что я ОДИН ЕДИНСТВЕННЫЙ пользователь компа, что других нет и не предвидеться? Чтобы не было других пользователей, кроме «Владелец (Администратор)». Удалить все другие учетные записи чтоб не мешались и все лишнее раз и навсегда.
Сообщение отредактировал skunsofob — 19.08.11, 18:52
Источник