
Erlang
文章平均质量分 82
chenxiaok
这个作者很懒,什么都没留下…
展开
-
Erlang入门
Erlang中八中基本数据型:Integer,float,atom,reference,fun,port,pid,bitstring.两种复合结构:tuple,list.Erlang中一个重要概念:模式匹配。[code="java"]X={aaa,"aaa"}.{aaa,Y} = X.[/code]变量单次赋值。一个变量一旦绑定某个值之后,就不能再次绑定.所有的...原创 2011-08-30 14:48:25 · 133 阅读 · 0 评论 -
Erlang顺序编程(一)
模块(module):module是erlang中代码的基本单元,所有函数都位于模块之中,模块文件一般存放在.erl文件中。要运行一个模块,首先要先编译它,编译成功之后会生成一个.beam的文件。模块名与文件名一致[code="java"]-module(test2).-export([area/1]).area({rectangle,Width,Ht}) -> W...原创 2011-08-30 15:22:53 · 241 阅读 · 0 评论 -
Erlang顺序编程(二)
case/if语法:case表达式语法:[code="java"]case Expression of Pattern1 [when Guard1] ->Expr_seq1; Pattern2 [when Guard2] ->Expr_seq2; …end.[/code]if表达式语法:[code="java"]if Guard1 -> Exp...原创 2011-08-30 18:01:51 · 165 阅读 · 0 评论 -
Erlang并发
erlang进程之间没有共享内存,每一个进程都有它自己的内存,想要修改其他进程的内存,你只能向它发送一条消息。erlang的进程不共享内存,没有锁的概念。erlang的错误侦测机制:进程之间可以相互链接。如果一个进程消亡,那么跟这个进程有链接的进程会得到一条消息,被告诉进程已经消亡,及其原因。erlang进程的三个原语:spawn,send,receive.Pid ...原创 2011-08-31 10:40:46 · 246 阅读 · 0 评论 -
Erlang分布式
分布式erlang的核心概念是节点,包含了地址空间和独立进程集的完整虚拟机。访问单个节点或节点集都受到cookie保护,每个节点都有自己的cookie,而且必须保证所有要和这个节点通信的其他节点有相同的cookie,为此,在一个分布式系统中,所有的节点必须用相同的magic cookie来启动。具有相同cookie而且彼此互相连接的节点集称为erlang集群。三种方法来设置cookie...原创 2011-08-31 17:42:08 · 681 阅读 · 0 评论 -
IRC程序
IRC协议:因特网在线聊天协议(IRC)可以分散的运行多台机器,从而实现internet的远程会议。IRC协议利用基本的TCP/IP网络协议系统开发。但是它并没有要求TCP/IP是唯一的运行环境。IRC是一种文本协议,它仅要求用户有一个简单端口程序能与服务器连接。IRC的一种典型配置包括:服务器形成一个供客户机(或其它服务器)连接、实现所需信息的发送/多路复用技术等功能的信道,服务器作为 ...原创 2011-09-01 10:16:46 · 654 阅读 · 0 评论 -
接口技术
如果想把erlang和一个C的程序对接起来,那么就需要用到接口技术。我们需要在一个独立的操作系统进程里运行一个与erlang运行时系统相互独立的外部程序。Erlang 的运行时系统通过二进制的通信通道与这个外部程序交互。在erlang端有一个erlang端口负责管理这样的通信,我们把创建这种端口的进程称为端口连接进程。Port=open_port(PortName,PortSett...原创 2011-09-01 17:45:48 · 139 阅读 · 0 评论 -
文件编程
erlang中操作文件的模块有:file模块:包含用于文件的打开,关闭,读取,写入和目录列表等功能的函数filename模块:提供了一套操作文件名的函数filelib模块:file模块的扩展,提供了一套辅助函数用于生成文件列表,检查文件类型等操作io模块:提供了一系列对已打开文件进行操作的函数文件操作:1.读取文件 1)从文件中读取所有erlang数据项:dat...原创 2011-09-02 17:50:54 · 161 阅读 · 0 评论 -
Socket编程之TCP
一个Socket是一个允许机器与Internet上另一端使用IP通信的端点gen_tcp 用于TCP编程、 gen_udp 用于UDP编程。TCP:例子:从服务器获取数据[code="java"]nano_get_url() -> nano_get_url("www.google.com").nano_get_url(Host) -> {ok...原创 2011-09-09 19:43:54 · 204 阅读 · 0 评论