摘要: 资料来源 https://golang.org/doc/effective_go.html concurrency https://talks.golang.org/2012/concurrency.slide 34 https://speakerdeck.com/kavya719/understa 阅读全文
posted @ 2017-08-13 13:37 BruceChen7 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 背景介绍 dyad是一个异步网络库,目标是可移植、轻量级、易于使用。地址位于https://github.com/rxi/dyad。 echoserver如何写 我们来看看一个简单的echo Server来看看其API的设计 我们从这个例子中,看到了几个简单的API: dyad_init(); dy 阅读全文
posted @ 2017-08-13 13:20 BruceChen7 阅读(1090) 评论(0) 推荐(0) 编辑
摘要: 简介 Tinyhttpd是一个不到500行的简单http服务器。 Makefile解析 我们通过nc来调试 nc 127.0.0.1 4000 因为fafafafa是乱输入的,所以不支持该方法,上述是httpd返回的值。其执行流程如下: 下面是一个完整是GET一个完整的HTTP报文头部字段,返回的是 阅读全文
posted @ 2017-08-13 13:07 BruceChen7 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 代码来源 tornado1.2版本下httpserver.py listen fd的读事件回调 Tornado定义类HTTPServer来表示一个HTTP服务器,该类在构造函数中会传入事件循环ioloop,和Application对象。同时该HTTPServer提供了如下几种方法: listen() 阅读全文
posted @ 2017-08-13 13:00 BruceChen7 阅读(517) 评论(0) 推荐(0) 编辑
摘要: hello world tornado提供了高效的异步机制,我们先不管Application实例化过程,以及http_server创建socket、bind、listen的过程,直接调IOLoop.instance().start进行源码分析。 IOLoop.instance() 显然是一个单例模式 阅读全文
posted @ 2017-08-13 12:46 BruceChen7 阅读(977) 评论(0) 推荐(0) 编辑
摘要: Tornado是什么 一个网络框架,同时也是一个异步网络库。其网络库适合长轮训和网络库。 源码下载 从 "这里" 将源码进行下载,下载后切换到分支1.2,因为最小的版本,则意味着源码分析的难度降低。我们看看如何切换。 切换分支到1.2 可以看到现在我么那种本地分支master分支上。通过git br 阅读全文
posted @ 2017-08-13 12:31 BruceChen7 阅读(593) 评论(0) 推荐(0) 编辑