Проблема: Мое устройство Android (Hisense H50, Android 10) подключается к ESP32 WiFi. Я могу успешно пинговать ESP32 с устройства, но когда я пытаюсь подключиться через пакет web_socket_channel или http, я получаю следующую ошибку: Необработанное исключение: WebSocketChannelException: HttpException: Соединение закрыто до получения полного заголовка, uri = http://192.168.1.1:0 (или иногда соединение отклонено).
Что Я пробовал:
- AndroidManifest.xml: Добавлены разрешения INTERNET, ACCESS_FINE_LOCATION и ACCESS_NETWORK_STATE.
- Открытый текст: Включено android:usesCleartextTraffic="true" в манифесте.
- Мобильные данные: я отключил мобильные данные, чтобы трафик проходил через Wi-Fi.
- Конфигурация сетевой безопасности: Добавлен файл network_security_config.xml, чтобы разрешить открытый текст для 192.168.1.1.
- Тестирование: Стороннее приложение «WebSocket Tester» также завершается с ошибкой «Соединение отклонено».
Dart
Код: Выделить всё
final uri = Uri.parse("ws://192.168.1.1:80");
channel = WebSocketChannel.connect(uri);
channel!.stream.listen((event) => print(event), onError: (e) => print(e));
Почему соединение немедленно отклоняется или закрывается, если устройство доступно через ping? Есть ли специфичное для Android ограничение для локальных сетей без Интернета, которое мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/799 ... esp32-ap-o
Мобильная версия