这段代码实现了一个基本的服务器功能。
与常见的服务器不同,这个服务器不处理具体的业务,而是在接收到请求后调用传进来模块的相应方法(handle)去处理。
第二,这个服务器提供了向指定的进程发送指定消息的功能,个人觉得把这个rpc放到回调模块中可能更容易理解。
这是一个回调模块,可用于初始化服务器,提供服务器调用的接口,并进行具体的业务实现。 在JAVA,C# 等编程语言中,一般都是接口和具体的实现分开的,所以这是erlang与他们不同的地方之一。
下面是具体的运行:
第一句代码运行后我们启动了一个进程,这个进程先调用了name_server:init,然后等待处理客户端进程发送过来的请求。一但接收到请求,就调用初始化模块name_server:handle/2 去处理,并将结果发送回客户端进程。
第二句代码,我们使用了服务器提供的发送请求的功能,向name_server进程发送了{add,joe,"at home"} 这样的消息。服务器接收到后就调用name_server回调模块中的handle方法去处理。
第三句代码又向name_server进程发送了{whereis,joe} 这样的消息,服务器进程接收到后同样调用name_server回调模块中的handle方法去处理。
在这里其实是涉及到三个东西的:被注册为name_server的服务器进程;shell所在的客户端进程;可以用来初始化服务器进程,并做具体业务实现的回调模块name_server。
分享到:
相关推荐
1. **下载Erlang安装包**:可以从Erlang官方网站下载适合您操作系统的安装包。 2. **安装过程**:根据操作系统不同,安装过程会有所差异。通常情况下,只需按照安装向导的提示进行即可。 3. **环境变量设置**:...
1.首先在下载RabbitMQ和Erlang的安装包时要注意版本是否对应,不然不兼容无法安装启动。 2.安装时一定要以管理员身份运行erlang的安装包,不然后面会出现问题。 3.安装的路径一定不要出现中文或者空格。 4.安装的...
### 1. 函数式编程基础 Erlang基于函数式编程范式,这意味着程序由纯函数构成,没有副作用。函数式编程强调数据不可变性和函数的数学属性,使代码更易于理解、测试和并行处理。 ### 2. 并发与轻量级进程 Erlang的...
标题中的"erlang-23.2.3-1.el7.x86_64.rpm"和"erlang-23.2.1-1.el7.x86_64.rpm.rar"代表了两个不同的Erlang版本。`.rpm`文件是用于Red Hat Enterprise Linux (RHEL) 和其衍生发行版如CentOS的软件包管理格式,而`....
1. **下载**:首先,访问Erlang官方网站或者通过第三方源下载`otp_win64_25.0.exe`文件。 2. **安装**:双击下载的文件启动安装向导,按照提示进行操作。默认设置通常足够,但你可以根据需要自定义安装路径和其他...
1. **解压源码**:将otp_src_24.3.4.4文件解压缩到一个合适的目录,通常是在你的开发环境中。 2. **环境配置**:确保你的系统中安装了必要的编译工具,如GCC或Clang,以及Make。对于Windows用户,可能需要安装MSYS2...
1. **语言增强**:Erlang22可能引入了新的语言特性,如更丰富的语法支持或者对现有特性的优化,以便提高开发效率和代码的可读性。 2. **性能提升**:新版本通常会针对CPU使用率、内存管理或垃圾回收进行优化,从而...
1. **版本号**:22.3-1表示这是Erlang的一个特定版本,22.3是主版本号和次版本号,而-1可能代表修订或更新次数。 2. **操作系统兼容性**:el7表明这个版本的Erlang是针对Red Hat Enterprise Linux 7 (RHEL 7)或其...
1. **下载**:你可以从Erlang Solutions官网或者通过提供的压缩包文件"Erlang 20.3linux░▓╫░░ⁿ"和"Erlang 20.3linux安装包"下载Erlang的Linux二进制包。 2. **解压**:解压缩下载的文件到一个合适的目录,...
1. **并发模型**:Erlang的并发基于轻量级进程(Lightweight Processes, LSPs),这些进程间的通信通过消息传递实现,这与传统的线程模型不同,具有更好的隔离性和容错性。 2. ** OTP(Open Telecom Platform)**:...
【Erlang程序设计(第2版)】是由Erlang之父Joe Armstrong撰写的一本经典著作,专注于介绍Erlang编程语言在并发、分布式和容错系统中的应用。本书适用于初学者和有一定经验的Erlang程序员。作者在书中讨论了如何利用...
1. **函数式编程**:Erlang基于函数式编程范式,强调无副作用的纯函数,以及通过数据不可变性来简化并发处理。在Erlang中,程序是由一系列相互独立的函数构成的,它们可以并行执行,提高了系统的性能。 2. **并发与...
1. 检查网络连接:确保网络稳定且速度足够。 2. 使用代理:如果你在公司或特定区域,可能需要通过代理服务器访问外部资源。 3. 更换下载时间:避开网络高峰期进行下载。 4. 镜像站点:寻找Erlang的镜像站点,这些...
Erlang B和Erlang C是电信领域中两种重要的流量模型,用于预测和分析通信系统中的呼叫处理能力和拥塞情况。这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 ...
1. **并行处理**:Erlang的进程模型使得创建轻量级并发进程变得简单,这些进程之间通过消息传递进行通信,极大地提高了系统的并发性和可扩展性。 2. **故障恢复**:Erlang的进程独立性和热代码替换功能使得系统在...
Erlang:RabbitMQ 是用 Erlang 编写的,因此需要 Erlang 运行时。确保安装了兼容的 Erlang 版本;Erlang:RabbitMQ 是用 Erlang 编写的,因此需要 Erlang 运行时。确保安装了兼容的 Erlang 版本;Erlang:RabbitMQ ...
Erlang/OTP 26.2.1,Erlang,OTP,26.2.1
在标题中的"erlang-18.3-1.el7.centos.x86_64.zip",我们看到的是Erlang的一个特定版本,18.3,针对64位的CentOS 7操作系统(el7)的安装包。这个版本的Erlang包含了必要的组件和服务,使得它能够在CentOS 7上稳定...
Erlang是一种强大的编程语言,特别适合于构建高并发、分布式和容错性强的系统。由爱立信的CS-Lab开发,Erlang的设计目标是处理大规模并发活动,这在传统的操作系统上可能非常困难。它的核心特性使其在处理并发性、...
1. **Erlang语言基础**:Erlang是瑞典电信设备制造商Ericsson为解决实时通信系统需求而开发的。它采用函数式编程范式,强调纯函数和不可变数据,以及模式匹配和递归等特性。编程+Erlang.pdf可能会详细介绍Erlang的...