我在Flutter工作,我必须创建一个创建HTTP服务器的Flutter应用程序,并为我们的本地电话存储服务.我无法找到任何与在Flutter中创建HTTP服务器相关的Flutter插件,这里是示例应用程序,我在Play商店中找到,它实现了HTTPS服务器:
的数据以下是该应用程序如何通过HTML页面公开手机存储:
的我如何在Flutter中创建这个应用程序?请建议任何插件。
46qrfjad1#
不需要任何第三方软件包也可以。Dart的io软件包提供了处理文件、套接字、http和其他I/O相关内容的功能。您可以使用HttpServer.bind开始监听特定地址和端口上的HTTP请求。以下是我找到的一个片段(link):
io
HttpServer.bind
startServer() async { var server = await HttpServer.bind(InternetAddress.loopbackIPv4, 8080); print("Server running on IP : " + server.address.toString() + " On Port : " + server.port.toString()); await for (var request in server) { request.response ..headers.contentType = new ContentType("text", "plain", charset: "utf-8") ..write('Hello, world') ..close(); }}
startServer() async {
var server = await HttpServer.bind(InternetAddress.loopbackIPv4, 8080);
print("Server running on IP : " +
server.address.toString() +
" On Port : " +
server.port.toString());
await for (var request in server) {
request.response
..headers.contentType =
new ContentType("text", "plain", charset: "utf-8")
..write('Hello, world')
..close();
}
字符串
qvtsj1bj2#
我正在研究沿着一条类似的路线,虽然我不想公开文件系统,而是想传递一些数据。1.许多软件包不适合在移动的应用程序中使用(即使Android和iOS是支持的平台)。这些软件包旨在用于服务器端设置,最好是命令行可执行应用程序。一些示例:https://pub.dev/packages/local_assets_server或https://pub.dev/packages/dhttpd或https://pub.dev/packages/belatuk_http_server1.关于为根文件系统提供服务:你会有一些严重的困难,如果你想释放这样的应用程序到Play商店.特别是Android的最后几个版本访问更广泛的文件夹和文件集.该MANAGE_EXTERNAL_STORAGE是非常难以证明和释放或保持应用程序在商店(这和证明背景位置许可或满足儿童观众政策一样困难).让我们承认,这是相当危险的从安全的Angular 来看,暴露所有这些文件夹和文件.如果播放商店不是你的目标,你是确定与替代那么分销渠道就不是问题了。
2条答案
按热度按时间46qrfjad1#
不需要任何第三方软件包也可以。Dart的
io
软件包提供了处理文件、套接字、http和其他I/O相关内容的功能。您可以使用HttpServer.bind
开始监听特定地址和端口上的HTTP请求。以下是我找到的一个片段(link):字符串
qvtsj1bj2#
我正在研究沿着一条类似的路线,虽然我不想公开文件系统,而是想传递一些数据。
1.许多软件包不适合在移动的应用程序中使用(即使Android和iOS是支持的平台)。这些软件包旨在用于服务器端设置,最好是命令行可执行应用程序。一些示例:https://pub.dev/packages/local_assets_server或https://pub.dev/packages/dhttpd或https://pub.dev/packages/belatuk_http_server
1.关于为根文件系统提供服务:你会有一些严重的困难,如果你想释放这样的应用程序到Play商店.特别是Android的最后几个版本访问更广泛的文件夹和文件集.该MANAGE_EXTERNAL_STORAGE是非常难以证明和释放或保持应用程序在商店(这和证明背景位置许可或满足儿童观众政策一样困难).让我们承认,这是相当危险的从安全的Angular 来看,暴露所有这些文件夹和文件.如果播放商店不是你的目标,你是确定与替代那么分销渠道就不是问题了。
这是一个中等职位:https://medium.com/@naik.rpsn/http-server-running-on-a-mobile-app-with-flutter-1ef1e717dda1。即使它的4岁的概念仍然可以适用。