Я работаю над Android-приложением, которое пишет и читает файлы (* .txt) на ПК с ОС Windows. Приложение подключается к сети WiFi и использует SMB. Приложение работает очень хорошо, в то время как в сети есть подключение к Интернету. Когда я отключу Интернет, приложение не может подключиться к ПК. Я имею в виду, что устройство остается подключенным к сети в WLAN, но в этой сети нет доступа в Интернет, и приложение затем не может подключиться к папке на ПК с ОС Windows. Я искал в Интернете, если это проблема в библиотеке JCIFS или системе Android, и я не нашел никакой информации об этом. Итак, может быть, кто-то испытал это раньше? Есть ли решение?
Вот некоторая информация о моем проекте:
JCIFS - 1.3.18
Android устройств 4.1.2 (16)
Android Manifest разрешения - <uses-permission android:name="android.permission.INTERNET"
Я попытался с ES File Проводник в том же сценарии, подключенный к сети WiFi без подключения к Интернету, затем я искал ПК в локальной сети и появилось сообщение: «Сначала подключитесь к WLAN».
Возможно, это ошибка Android?
Заранее спасибо.Android JCIFS/SMB не работает в сети без Интернета
1
A
ответ
1
jcifs.Config.setProperty("jcifs.resolveOrder","BCAST,DNS");
Я использую выше. Порядок по умолчанию для LMHOSTS, WINS, BCAST, а затем DNS вызывает очень длинные паузы, ожидающие тайм-аута, когда только в локальной сети.
Библиотека JCIFS (использование SMB в этом случае) использует действительный DNS для разрешения имен. Поэтому, если интернет-соединение отсутствует, SMB не может разрешить имя хоста, к которому вы обращаетесь. –