摘要: cowboy是一个小型、快速,模块化,采用Erlang开发的HTTP服务器。改版之后的cowboy分为两大application,将TCP拆分出来,成了ranch application,cowboy成了基于TCP(ranch)的一个cowboy_protocol(http实现)。不仅如此,cowboy还给出了rest-api、websocket、chunked、long-polling的支持,相当之完美!总体来讲cowboy的特点在于分层架构及模块化设计,即把网络层的套接字管理和应用层协议实现,以及对消息的处理,这三层几乎完全解藕。 阅读全文
posted @ 2013-01-21 19:40 小壁虎借尾巴 阅读(3334) 评论(3) 推荐(2) 编辑
摘要: hotwheels源码量虽少,作为Erlang开发的tcp服务器,麻雀虽小五脏俱全,足够强悍。 阅读全文
posted @ 2012-11-06 23:24 小壁虎借尾巴 阅读(1839) 评论(0) 推荐(0) 编辑
摘要: 轮询(Polling)是指不管服务器端有没有更新,客户端(通常是指浏览器)都定时的发送请求进行查询; 推送或叫长连接(Long-Polling)的服务其客户端是不做轮询的,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到客户端。 阅读全文
posted @ 2013-01-18 15:44 小壁虎借尾巴 阅读(659) 评论(1) 推荐(0) 编辑
摘要: erlang应用以后台方式启动带参数-detached即可实现。 控制detached模式启动的erlang虚拟机的方法:1、通过远程shell JCL登录;2、使用erl的-remsh参数 阅读全文
posted @ 2013-01-08 18:13 小壁虎借尾巴 阅读(1257) 评论(0) 推荐(0) 编辑
摘要: HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器;服务器接到请求后,给予相应的响应信息。 阅读全文
posted @ 2013-01-08 16:16 小壁虎借尾巴 阅读(470) 评论(0) 推荐(0) 编辑
摘要: ASCII字符集&编码、GBXXXX字符集&编码、BIG5字符集&编码、Unicode字符集&UTF编码(UTF-32/UTF-16/UTF-8) 阅读全文
posted @ 2013-01-08 14:15 小壁虎借尾巴 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 协议包含通讯协议和数据格式。 通讯协议目前常用的是:HTTP 和TCP。 数据格式有文本格式(如xml,json或自定义),二进制格式(如protobuf,thrift或自定义)。 目前大部分游戏是采用自定义二进制协议。其大致的样子如下: [2字节数据长度][2字节消息类型,具体的消息体]。 阅读全文
posted @ 2012-12-24 11:55 小壁虎借尾巴 阅读(646) 评论(0) 推荐(0) 编辑
摘要: WebSocket握手协议1、客户端握手请求GET /WebSocket/LiveVideo HTTP/1.1\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nHost: localhost:8080\r\n Origin: http://127.0.0.1\r\nSec-WebSocket-Key1: 23 asdfJKj,asdjk\r\nSec-WebSocket-Key2: dssariuvl,arssdd\r\nr\n8个字节Sec_WebSocket-Key3值 (没有键名)2、服务端握手回复HTTP/1.1 101 Web Sock 阅读全文
posted @ 2012-12-21 18:01 小壁虎借尾巴 阅读(379) 评论(0) 推荐(0) 编辑
摘要: websocket草案10,链接地址为:http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10,1、握手的标准:1)、最老的websocket草案标准中是没有安全key,草案7.5、7.6中有两个安全key,而现在的草案10中只有一个安全key,即将7.5、7.6中http头中的"Sec-WebSocket-Key1"与"Sec-WebSocket-Key2"合并为了一个"Sec-WebSocket-Key"2)、把http头中Upgrade的值由" 阅读全文
posted @ 2012-12-21 17:47 小壁虎借尾巴 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 目录:1、erlang:send_after和erlang:start_timer的使用解释;2、erlang的timer和实现机制;3、erlang定时器的强度测试 阅读全文
posted @ 2012-12-18 14:15 小壁虎借尾巴 阅读(2334) 评论(0) 推荐(0) 编辑
摘要: 当不能预先确定报文体的长度时,不可能在头中包含Content-Length域来指明报文体长度,此时就需要通过Transfer-Encoding域来确定报文体长度。 此时,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码的基本方法是将大块数据分解成多块小数据,每块都可以自指定长度,其具体格式见本文。 阅读全文
posted @ 2012-12-17 18:47 小壁虎借尾巴 阅读(519) 评论(0) 推荐(0) 编辑