Flutter — сокет.Исключение Connect () — исключение SocketException: ошибка ОС: время ожидания соединения истекло

#flutter #sockets #dart #tcp

#флаттер #сокеты #dart #tcp

Вопрос:

Когда я работал в режиме отладки (с «запуском flutter») с помощью моего устройства (реального), сокета.Метод Connect() не работает.

Также я хотел бы сказать, что этот метод подключения находится в библиотеке «dart: io».

В ближайшее время;

  • Я открыл сервер (TCP) с помощью Python.
  • Я написал клиент Flutter, как показано ниже, чтобы иметь возможность подключаться к серверу на Python.

    Future den() async { печать («Начато»); Сокет sock = ожидает Socket.connect(«192.168.0.159», 5431); печать («Готово «);}

Тем не менее, я принял ошибку SocketError за время ожидания соединения.

Сообщение об ошибке, которое я принял:

 E/flutter (17655): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: SocketException: OS Error: Connection timed out, errno = 110, address = 192.168.0.159, port = 43836
 

ПРИМЕЧАНИЕ:
Я попытался изменить файл манифеста, добавив разрешение на доступ в ИНТЕРНЕТ, но он не работает.

Ответ №1:

Это была странная проблема, потому что в коде, которым я поделился, нет проблем. Защитник Windows выполнил правило для блокировки открытия порта в качестве сервера. Следовательно, я запустил сервер на своем компьютере, однако не смог подключить его со своего устройства Android.

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