Можно ли отправлять сообщения по протоколу UDP / TCP из приложения флаттера в приложение. NET? - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь выяснить, как отправлять данные по UDP / TCP из моего приложения-флаттера на мой сервер, который имеет. net приложений, которые прослушивают UDP и TCP. Я искал об этом, и я обнаружил, что есть пакет с именем web_socket_channel, и я попытался, чтобы он работал с тестовым сервером ws: //echo.websocket.org, но когда я заменяю echo.websocket.org на мой IP-адрес сервера или доменное имя не работает, даже если я не получаю никаких ошибок, поэтому я не мог понять, что происходит. Здесь что-то не так? или я что-то не так делаю? Может ли кто-нибудь помочь мне с моим демонстрационным кодом:

  WebSocketChannel channel;
  String text = "";
  void sendSocket() {

      String message = "message_text"
       if(message.isNotEmpty)
      channel.sink.add(message);

   }  

  getStreamData() {
    channel.stream.asBroadcastStream().listen((event) {
      if (event != null)
          print(event);
    });
  }

  @override
  void dispose() {
    channel.sink.close();
    super.dispose();
  }

  @override
  void initState() {
    try {
      channel = IOWebSocketChannel.connect(

          'ws://127.0.0.1:8889');

      getStreamData();
      super.initState();
    } catch (e) {
      print(e.toString());
    }
  }


Я ценю вашу помощь. Большое вам спасибо.

1 Ответ

0 голосов
/ 03 марта 2020

Для этой проблемы go через все шаги, упомянутые ниже:

1. Check your server is running and app is listening to specific port on which you are sending data
2. Check server IP address and Port number
3. Make ping from command prompt using "ping serverName/IP"
4. Make sure you can connect using telnet from command prompt "telnet servername/IP portNumber"

(если команда te lnet не работает, значит ваш клиент te lnet не установлен / не включен, тогда проверьте, как включить telnetClient )

, если все работает хорошо, попробуйте этот плагин flutter_socket_plugin или вы можете написать собственный код для сокета, как предложено @Richard Heap.

...