android 如何在Flutter中创建HTTP服务器应用程序?

pjngdqdw  于 11个月前  发布在  Android
关注(0)|答案(2)|浏览(150)

我在Flutter工作,我必须创建一个创建HTTP服务器的Flutter应用程序,并为我们的本地电话存储服务.我无法找到任何与在Flutter中创建HTTP服务器相关的Flutter插件,这里是示例应用程序,我在Play商店中找到,它实现了HTTPS服务器:


的数据
以下是该应用程序如何通过HTML页面公开手机存储:



我如何在Flutter中创建这个应用程序?请建议任何插件。

46qrfjad

46qrfjad1#

不需要任何第三方软件包也可以。Dart的io软件包提供了处理文件、套接字、http和其他I/O相关内容的功能。您可以使用HttpServer.bind开始监听特定地址和端口上的HTTP请求。以下是我找到的一个片段(link):

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

字符串

qvtsj1bj

qvtsj1bj2#

我正在研究沿着一条类似的路线,虽然我不想公开文件系统,而是想传递一些数据。
1.许多软件包不适合在移动的应用程序中使用(即使Android和iOS是支持的平台)。这些软件包旨在用于服务器端设置,最好是命令行可执行应用程序。一些示例:https://pub.dev/packages/local_assets_serverhttps://pub.dev/packages/dhttpdhttps://pub.dev/packages/belatuk_http_server
1.关于为根文件系统提供服务:你会有一些严重的困难,如果你想释放这样的应用程序到Play商店.特别是Android的最后几个版本访问更广泛的文件夹和文件集.该MANAGE_EXTERNAL_STORAGE是非常难以证明和释放或保持应用程序在商店(这和证明背景位置许可或满足儿童观众政策一样困难).让我们承认,这是相当危险的从安全的Angular 来看,暴露所有这些文件夹和文件.如果播放商店不是你的目标,你是确定与替代那么分销渠道就不是问题了。

  1. Angel3(https://pub.dev/packages/angel3_framework)似乎也是面向CLI的(尽管将Android列为平台)。我将尝试Alfred(https://pub.dev/packages/alfred),https://pub.dev/packages/mini_serverhttps://pub.dev/packages/http_multi_server,尽管这些也很可疑。
    这是一个中等职位:https://medium.com/@naik.rpsn/http-server-running-on-a-mobile-app-with-flutter-1ef1e717dda1。即使它的4岁的概念仍然可以适用。

相关问题