【问题标题】:Is it possible to send messages over UDP/TCP from flutter application to .NET application?是否可以通过 UDP/TCP 从 Flutter 应用程序向 .NET 应用程序发送消息?
【发布时间】:2020-06-15 00:40:05
【问题描述】:

我试图弄清楚如何通过 UDP/TCP 从我的颤振应用程序发送数据到我的服务器,该服务器具有侦听 UDP 和 TCP 的 .net 应用程序。我搜索了一下,发现有一个名为 web_socket_channel 的包,我尝试它与测试服务器 ws://echo.websocket.org 一起使用,但是当我用我的服务器 IP 地址替换 echo.websocket.org 或域名它不起作用,即使我没有收到任何错误,所以我无法弄清楚发生了什么。有什么不对?还是我做错了什么?有人可以帮助我的演示代码:

  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());
    }
  }


感谢您的帮助。非常感谢。

【问题讨论】:

  • 是的,只需使用dart:io Socket 或 RawDatagramSocket。由于它们在标准 io 包中,您甚至可以编写一个简单的 Dart 命令行应用程序来测试您的实现。
  • 我这边出了问题。这就是它不起作用的原因。

标签: flutter websocket tcp udp flutter-packages


【解决方案1】:

首先,确保您的服务器正在运行并且可以连接。

对于这个问题,请完成下面提到的所有步骤:

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

(如果 telnet 命令不起作用意味着您的 telnet 客户端未安装/启用,则 check how to enable telnetClient)

第一种解决方案

如果一切正常,那么试试这个插件flutter_socket_plugin 或者你可以像@Richard Heap 建议的那样为套接字编写自己的代码。

第二个解决方案

dart 网络套接字编程的优秀博客:Reference Link

您还可以将 RawDataGramSocket 用于 UDP 套接字refer to this thread

用于 TCP 套接字的套接字 API 访问 this thread

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2022-10-20
    • 2019-04-26
    • 2015-01-08
    • 1970-01-01
    相关资源
    最近更新 更多