![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Erlang
半吊子全栈工匠
半吊子全栈工匠一枚
展开
-
Erlang中的OTP简要
OTP包含了一组库和实现方式,可以构建大规模、容错和分布式的应用程序,包含了许多强大的工具,能够实现H248,SNMP等多种协议,核心概念是OTP行为,可以看作一个用回调函数作为参数的应用程序框架,类似一个J2EE容器。行为负责解决问题的非函数部分,回调函数负责解决函数部分。 通过gen_server模块可以实现事物语义和热代码交换,1) 确定回调模块名2) 编写接口函数3) 在回调模块里编写6个必需的回调函数原创 2015-03-07 11:10:26 · 3416 阅读 · 0 评论 -
基于Erlang的并发程序简要
基本的并发函数1) Pid =spwan(Mod,Func,Args) 创建一个新的进程来执行apply(Mod,Func,Args),与调用进程并列运行,会使用最新的代码定义模块。2) Pid!Message 向Pid进程异步发送Message,!为发送操作符3) Receive … end 接收消息Receive Pattern1 [when Guard1]-> Expression1; Pattern2[when Guard2]->Expression2;… After time-原创 2015-03-06 13:39:11 · 1719 阅读 · 0 评论 -
Erlang中的模块与模式匹配
模式匹配是erlang的根基,case和if表达式使erlang小而一致。case Expression of Pattern1[ when Guard1] -> Expr-seq1; Pattern2[when Guard2]-> Expr-seq2; …endif Guard1-> Expr_seq1; Guard2-> Expr_seq2; …end原创 2015-03-05 15:17:11 · 2234 阅读 · 0 评论 -
Erlang中的基本元素操作
Erlang shell中,用句号加空格、tab或回车来结束表达式,%表示注释的起点,;隔离子句。模块是.erl 文件,库的头文件.hrl, shell中的编译时c(),外编译命令时erlc, 退出shell用q(),或erlang:halt(). 变量以大写字母开头,且不能重新绑定变量,只能一次性赋值,具有不可变状态......原创 2015-03-05 13:55:50 · 2572 阅读 · 0 评论 -
Erlang 印象
和朋友切磋高并发的时候,有一次涉及了Erlang,Erlang出自名门爱立信,具有稳定性极高的虚拟机和平台库,Facebook用它实现了聊天系统,Amazon 开发了SimpleDB,最令人惊叹的是What'sApp了,高并发的处理机制令人瞩目,是时候了解一下Erlang了。世界是并行的,Erlang程序反应了我们思考和交流的方式,人作为个体通过发送消息进行交流,如果有人死亡,其他人会注意到。Erlang里的模块类相当于OOPL中的类,进程相当于OOPL里的对象或类实例。并发编程可以用来提升性能,创原创 2015-03-04 16:33:29 · 1499 阅读 · 0 评论 -
磨刀:mac 上简洁搭建ejabberd 环境
和app-get,或者yum类似, 这里使用的是mac上的软件管理工具port来实现简明搭建。先磨刀,安装port的方法呢? 访问如下网站:https://www.macports.org/install.php选择自己的mac 软件版本,下载即可安装port了......原创 2015-04-18 16:36:42 · 2910 阅读 · 0 评论 -
Erlang的socket 编程简例
Erlang 中gen_tcp 用于编写TCP程序,gen_udp用于编写UDP程序。一个简单的TCP服务器echo示例:Start_echo_server()-> {ok,Listen}= gen_tcp:listen(1234,[binary,{packet,4},{reuseaddr,true},{active,true}]), {ok,socket}=get_tcp:accept(Listen), gen_tcp:close(Listen),原创 2015-03-07 07:17:09 · 2604 阅读 · 0 评论