【发布时间】:2021-01-30 07:33:06
【问题描述】:
我想实现通过 http 服务器向 Flutter android 应用发送数据的功能。例如,当我在 Windows 上运行的 node.js 应用程序任务结束时,我想在应用程序上进行振动。
这里是来自Write HTTP clients & servers | Dart 的示例,它适用于android 上的localhost:8080。但不适用于 LAN 网络,例如从这台 Windows 机器认为 android LAN IP 地址“http://192.168.0.193:8080/”。我做了谷歌并搜索堆栈溢出,发现运行Flutter时我需要--web-port 8080 --web-hostname 0.0.0.0,但这仍然不起作用,这表明我192.168.0.193 refused to connect. android IP是通过settings > wifi > wifi preference > advanced > IP addresses确认的,我确定IP本身是正确的。
所以,我不知道为什么我无法通过本地 IP 地址连接到应用程序。非常感谢您的帮助,谢谢。
import 'dart:io';
Future main() async {
var server = await HttpServer.bind(
InternetAddress.loopbackIPv4,
8080,
);
print('Listening on ${server.address.toString()}:${server.port} ');
await for (HttpRequest request in server) {
request.response.write('Hello, world!');
await request.response.close();
}
}
flutter run -d F5122 --web-port 8080 --web-hostname 0.0.0.0
【问题讨论】: