无法创建数据报套接字抖动

时间:2020-11-05 11:49:27

标签: flutter dart

我一直在尝试通过UDP发送一些数据并获取一些数据,以回应我猜一个具有已知IP和端口的Arduino,但是我一直收到此错误:

SocketException: Failed to create datagram socket (OS Error: Cannot assign requested address, errno = 99), address = 192.168.0.1, port = 4210

这是我的代码

    InternetAddress ipAddress = InternetAddress(ip, type: InternetAddressType.IPv4);
    RawDatagramSocket.bind(ip, port).then((soc) {
      socket = soc;
      udpTimer = Timer.periodic(Duration(milliseconds: 10), (timer) async {
        socket.send(data, ipAddress, port);
      });

      socket.listen((RawSocketEvent event) async {
        Datagram datagram = socket.receive();
        if (datagram != null) {
          setBattery(String.fromCharCodes(datagram.data));
        }
      });
    }).catchError((error) async {
      // shows error to user
    });

我还在清单中授予了这些权限:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

我已经在本地主机上的笔记本电脑上测试了该代码,并且该代码可以正常工作。

有一个实现了此功能并且运行良好的android应用程序,所以我想Arduino方面没有问题。

0 个答案:

没有答案