我刚刚开始 flutter,想请求从另一个用户界面跟踪变量的可能性
我可以通过 wifi F.E. 以某种方式访问和传递简单的 int 变量更改吗?或者我是否需要使用一些后端,例如 firebase。
谢谢你!
您可能可以看一下 UDP,即用户数据报协议。 UDP 协议允许计算机应用程序通过互联网协议以数据报的形式将消息从一台机器/设备发送到另一台机器/设备。
Flutter 中有一个包可以让您执行此操作,您可以在此处查看它链接到包并探索您所需的可能性。
下面的代码显示了该包如何工作的示例:
import 'package:udp/udp.dart';
main() async {
// creates a UDP instance and binds it to the first available network
// interface on port 65000.
var sender = await UDP.bind(Endpoint.any(port: Port(65000)));
// send a simple string to a broadcast endpoint on port 65001.
var dataLength = await sender.send("Hello World!".codeUnits,
Endpoint.broadcast(port: Port(65001)));
stdout.write("$dataLength bytes sent.");
// creates a new UDP instance and binds it to the local address and the port
// 65002.
var receiver = await UDP.bind(Endpoint.loopback(port: Port(65002)));
// receiving\listening
receiver.asStream(timeout: Duration(seconds: 20)).listen((datagram) {
var str = String.fromCharCodes(datagram.data);
stdout.write(str);
});
// close the UDP instances and their sockets.
sender.close();
receiver.close();
// MULTICAST
var multicastEndpoint =
Endpoint.multicast(InternetAddress("239.1.2.3"), port: Port(54321));
var receiver = await UDP.bind(multicastEndpoint);
var sender = await UDP.bind(Endpoint.any());
receiver.asStream().listen((datagram) {
if (datagram != null) {
var str = String.fromCharCodes(datagram?.data);
stdout.write(str);
}
});
await sender.send("Foo".codeUnits, multicastEndpoint);
await Future.delayed(Duration(seconds:5));
sender.close();
receiver.close();
}