使用flutter的服务器

Yad*_*adu 0 dart flutter

众所周知,Flutter 非常适合前端,当我开始使用 Flutter 时,我非常喜欢 Dart 编程语言,我也在一些后端服务器上使用它,现在它让我思考是否可以做到这一点。

我有一个aqueduct服务器(Aqueduct是一个dart包,与node.js上的express非常相似)

import 'dart:async';
import 'dart:io';
import 'package:aqueduct/aqueduct.dart';
import 'package:aqueduct/managed_auth.dart';

Future main() async {
  final app = Application<App>()
    ..options.configurationFilePath = 'config.yaml'
    ..options.port = 8888;

  await app.start(numberOfInstances: 3);
}

class App extends ApplicationChannel {
//server side logic
}
Run Code Online (Sandbox Code Playgroud)

如果我将上述内容作为main()flutter应用程序的入口点,成功地使flutter应用程序在android设备上运行作为服务器,那么服务器/应用程序是否会成功构建?

或者

如果上面的代码失败,我该如何让它工作?

PS:我还没有尝试过这个。供您参考:node.js Express 服务器可以(可能)使用 Node.js ARM 在 Android 上运行

Yad*_*adu 5

下面的代码在 flutter 应用程序内的端口 4040 上运行服务器

import 'dart:io';

Future main() async {
  // #docregion bind
  var server = await HttpServer.bind(
    InternetAddress.loopbackIPv4,
    4040,
  );
  // #enddocregion bind
  print('Listening on localhost:${server.port}');

  // #docregion listen
  await for (HttpRequest request in server) {
    request.response.write('Hello, world!');
    await request.response.close();
  }
}
Run Code Online (Sandbox Code Playgroud)