摘要: 这次,分析处理publish msg的流程。 由protocol开始 publish 类型的packet的处理是: 1、ACL 检查 2、处理packet 获得msg 3、调用session module进行处理 emqttd_session 模块处理 和subscribe的处理流程类似,emqtt 阅读全文
posted @ 2016-05-09 13:03 _00 阅读(2237) 评论(2) 推荐(0) 编辑
摘要: 第一篇,先简单分析一下整个emqtt 的大致结构,包括两个部分: 1、message packet 类型 2、message 流向 message packet 类型 P1:mqtt_packet 的基本结构,其中header 中的type 与variable 的mqtt_packet_* 一一对应 阅读全文
posted @ 2016-05-09 13:03 _00 阅读(2261) 评论(1) 推荐(1) 编辑
摘要: 这一次,主要分析client subscribe 某个topic 的处理流程。 由protocol开始 是的,还是要从protocol开始,至于为什么,之前就说过了。 subscribe 类型的packet的处理是: 1、过滤掉topictable 为空的情况 2、组装必要的client 信息,完成 阅读全文
posted @ 2016-05-09 13:02 _00 阅读(2500) 评论(0) 推荐(0) 编辑
摘要: 这一篇,主要分析下,client 是怎么 connect server的,以及成功connect server 之后,会做哪些事情,session是怎么 start的。 由protocol 开始 之前分析过message 流向,接受到TCP 数据之后,经过parser 的解析,会交由protocol 阅读全文
posted @ 2016-05-09 13:02 _00 阅读(1751) 评论(0) 推荐(0) 编辑
摘要: 在前两个blog中,已经说了Erlang的历史、应用场景、特点,这次主要演示一个Wordcount的示例,就是给定一个文本文件,统计这个文本文件中的单词以及该单词出现的次数。今天和群友们讨论了一个问题,突然一下子就上升到哲学角度上了,装逼装大发了。PS:图片中有错别字,%s/财务和其他9个月/财务和... 阅读全文
posted @ 2015-08-20 00:41 _00 阅读(2219) 评论(2) 推荐(1) 编辑
摘要: 前言Erlang是具有多重范型的编程语言,具有很多特点,主要的特点有以下几个:函数式并发性分布式健壮性软实时热更新递增式代码加载动态类型解释型函数式Erlang是函数式编程语言,函数式是一种编程模型,将计算机中的运算看做是数学中的函数计算,可以避免状态以及变量的概念。对象是面向对象的第一型,函数式编... 阅读全文
posted @ 2015-08-19 00:56 _00 阅读(5546) 评论(2) 推荐(1) 编辑
摘要: 前言最近在总结一些Erlang编程语言的基础知识,拟系统的介绍Erlang编程语言,从基础到进阶,然后再做Erlang编程语言有意思的库的分析。其实,还是希望越来越多的人关注Erlang,使用Erlang,壮大Erlang编程语言的社区。说实话,我也没这么高尚,就是看到很多人对Erlang编程语言的... 阅读全文
posted @ 2015-08-18 00:50 _00 阅读(2761) 评论(9) 推荐(3) 编辑
摘要: 首先,库存在的目的大致可分为:1、提供便利2、尽可能解决一些痛点首先,我们先明确一下Erlang编程语言的一些痛点(伪痛点):1,单进程问题Erlang虚拟机属于抢占式调度,抢占式调度有很多好处,但是同样也存在这弊端。虚拟机在默认情况下分配个每个进程的资源都是相同的,但是若一个进程(gen_serv... 阅读全文
posted @ 2015-08-14 20:23 _00 阅读(1684) 评论(0) 推荐(1) 编辑
摘要: 这是一篇水文-----------------------------------------------------很好用的一个技巧http://www.erlang.org/doc/man/shell_default.htmlhttp://www.cnblogs.com/me-sa/archiv... 阅读全文
posted @ 2015-05-26 11:40 _00 阅读(850) 评论(0) 推荐(0) 编辑
摘要: Xref是一个交叉引用工具,通过分析定义的函数间的调用关系,用于查找函数、模块、应用程序和版本之间的依赖关系。通俗而言,Xref 可以检查代码中函数的调用关系。比如在 moduleA 中的 funA 调用了moduleB 中的funB, 但是moduleB 中并未定义funB,此错误在代码编译期间不... 阅读全文
posted @ 2015-05-12 18:26 _00 阅读(2799) 评论(0) 推荐(0) 编辑