1. HttpSocket
var server = await HttpServer.bind(
  InternetAddress.loopbackIPv4,
  4040,
);
print('Listening on localhost:${server.port}');
/// 整个isoalate会阻塞在这点
await for (HttpRequest request in server) {
  //httpRequest.requestedUri.queryParameters
  //httpRequest.uri.queryParameters
  // 获取请求的数据(请求体),这个请求体,fronted发来的时候是什么样子,现在就是什么样子,并不会像fetch一样给我们进行了封装
  var reqBody = await utf8.decoder.bind(httpRequest).join();
  request.response
    ..write('Hello, world!')
    ..close();
}
/// server.close({bool force = fase});,这个参数用来实现是否需要强制关闭服务,强制关闭表示一下子就关闭,不管理正在处理中的任务,(处理中的任务:
/// 正在await for 一个 httpRequest以及...)

  1. HttpClient
HttpClient httpClient = HttpClient();
HttpClientRequest request =
await httpClient.getUrl(Uri.parse("http://localhost:4444"));
HttpClientResponse response = await request.close();
// 获取响应的数据
var resData = await response.transform(utf8.decoder).join();
httpClient.close();