自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 【从零开始构建erlang服务器】-04协议层

一、简介协议的作用很重要,通信协议可以理解为两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等。常 见的有tcp,udo,http,sip等常见协议。协议有流程规范和编码规范。流程如呼叫流程等信令流程,编码规范规定所有信令和数据如何打包/解包。编码规范就是我们通常所说的编解码,序列化。不光是用在通信工作上,在存储工作上我们也经常用...

2018-04-16 21:10:08 707

原创 Erlang词法分析器、语法分析器(lexer-leex,yac-yecc)

一、简介一门编程语言的编译器或者解释器通常功能分解为两步: 1、读取源码文件然后分析它的结构 2、处理这些结构,例如生成目标程序lexer和yacc就是能完成第一步以便生成程序段的工具。而第一步的任务又能分为两个子任务: 1、分割源码文件内容为很多tokens(lexer) 2、分析出程序的分级结构(yacc)二、lexer(词法分析工具) lexer的源就是一个正则表达式表,其正则规则符合目标程...

2018-04-15 22:24:33 1697

原创 【从零开始构建erlang服务器】-03用户层和日志

一、简介 上一篇讲了创建服务器项目以及添加ranch网络库,本篇利用网络库创建client socket消息处理的用户层代码以及服务器开发调试运维的日志集成。二、编写用户层代码 前面知道网络层处理客户端连接,以及可以将客户端socket文件描述符授权给其它worker进程来一对一为客户端服务(得益于erlang actor模型的轻进程,可以做到一个连接一个进程),而网络库我们使用的ranch,因此...

2018-04-11 21:46:00 357

原创 Erlang Abstract Syntax Tree和汇编字节码

一、抽象语法树简介 抽象语法树(Abstract Syntax Tree)是源代码的抽象语法结构的树状表示。 抽象语法树是解析器(parser)的产物,解析器广义来说输入一般是程序的源码,输出一般是语法树(syntax tree,也叫parse tree等)或抽象语法树。进一步剥开来,广义的解析器里一般会有扫描器(scanner,也叫tokenizer或者lexical analyzer,词法分析...

2018-04-07 01:19:20 831

原创 【从零开始构建erlang服务器】-02构建应用

【从零开始构建erlang服务器】-03构建应用一、简介开始一个erlang服务器应用的构建。项目管理工具使用rebar3。配置方式参考:ubuntu16+ideaIC+rebar3搭建erlang开发环境二、新建应用服务器应用名:erlserver,终端执行:rebar3 new app erlserver===> Writing erlserver/src/erlserver_app...

2018-04-05 18:04:26 601

原创 【从零开始构建erlang服务器】-01网络库

一、简介       网络库是服务器的基础。有了网络库,服务器就能接收外界消息,提供服务。因此开始就从网络库入手。这里先构建基础的TCP通信网络库。至于UDP、WebSocket这些通信手段暂不说。二、gen_tcp       erlang的底层是c语言封装的,因此其socket通信在beam层也是经过封装的,更易使用。告别跟系统绑定的select/poll/epoll/iocp/kqueue的...

2018-04-05 14:24:01 1256 2

erlang OTP19的Debian安装包

sudo dpkg -i xxx.deb

2017-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除