用Dart搭建HTTP服务器(1)
2015-06-13 17:27
781 查看
基本的HTTP服务器
import 'dart:io'; main(List<String> arguments) { //绑定一个IPv4的HttpServer,设置8089端口 HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){ //显示服务器地址和端口 print("Serving at ${server.address}:${server.port}"); //通过编写HttpResponse对象让服务器响应请求 server.listen((HttpRequest request){ //HttpResponse对象用于返回客户端 request.response //获取和设置内容类型(报头) ..headers.contentType=new ContentType("text","plain",charset:"utf-8") //通过调用Object.toString将Object转换为一个字符串并转成对应编码发送到客户端 ..write("Hello world! :)") //结束与客户端连接 ..close(); }); }); }
执行上面代码,在控制台会打印出服务器的地址与端口号,再访问本机地址http://127.0.0.1:8089/就能访问搭建好的HTTP服务器了!
效果大概就是这样了。
文件服务器
//http_server包要通过Pub下载 library simple_http_server; import 'dart:io'; //VirtualDirectory可以从根路径获取文件和目录清单 import 'package:http_server/http_server.dart' show VirtualDirectory; main(List<String> arguments) { //设置根路径 final MY_HTTP_ROOT_PATH = Platform.script.resolve('web').toFilePath(); //从根路径获取文件和目录清单 final virDir = new VirtualDirectory(MY_HTTP_ROOT_PATH) //是否获取文件和目录清单,为false则不获取 ..allowDirectoryListing = true; HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){ server.listen((request){ //将文件和目录清单发送到客户端 virDir.serveRequest(request); }); }); }
特别要讲的是http_server包的下载,如果你用的是DartEditor的话,可以通过以下方法下载:
上面点OK后要按Ctrl+S保存后才会下载
如果不是DartEditor或者被GFW拦住的话,我把下载好http_server包提供给你们,http://pan.baidu.com/s/1kTiosC3
运行代码后访问本地http://127.0.0.1:8089/,效果是这样的:
相关文章推荐
- 如何解决Windows 7的多重网络问题
- 搭建无线漫游网络及需要注意的问题
- 手机如何借用笔记本网络上网
- tcp
- 替代WinPcap的新型Windows网络数据包截获软件——NPcap
- HTTP 1.1引入分块传输编码提供了以下几点好处:
- Win7旗舰版无线网络不能保存密码,以及不能创建热点
- 无法连接vCenter Server清单https://IP:10443
- TCP 的有限状态机
- TCP连接的建立与释放
- 5种服务器网络编程模型讲解
- 基于第三代蜜罐网关ROO,简单搭建攻防网络环境。
- (转)HttpClient 4.3.6 教程 前言 【翻译】
- TCP头部解析
- JavaWeb_HTTP协议
- unity开发:TCP socket网络连接
- 网络层协议:IP(Internet Protocol)的分类与子网
- 虚拟机的网络配置
- Linux中基于apache httpd的svn服务器搭建与配置
- 网络流建模总结