import 'dart:io'; import 'package:flutter/material.dart'; class DartHttpServer extends StatefulWidget { const DartHttpServer({Key? key}) : super(key: key); @override State<DartHttpServer> createState() => _DartHttpServerState(); } class _DartHttpServerState extends State<DartHttpServer> { String statusText = "Start Server"; startServer() async { setState(() { statusText = "Starting server on Port : 8080"; }); var server = await HttpServer.bind(InternetAddress.loopbackIPv4, 8080); print("Server running on IP : ${server.address} On Port : ${server.port}"); await for (var request in server) { request.response ..headers.contentType = ContentType("text", "plain", charset: "utf-8") ..write('Hello, world') ..close(); } setState(() { statusText = "Server running on IP : ${server.address} On Port : ${server.port}"; }); } @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ TextButton( onPressed: () { startServer(); }, child: Text(statusText), ) ], ), )); } }
Futter应用里起一个 Dart Http Server服务
18 min read