erlang实现跨节点(节点可位于不同的计算机上)发送消息非常简单,代码如下:
-module(test). -export([start/0,server/0,request/2]). handle(Reqdata) -> "Hello " ++ Reqdata. server() -> receive [From,{request,X}] -> io:format("Get ~p from client ~p!~n",[X,From]), Resp = handle(X), From ! {reply,Resp}, server() end. start() -> register(testserver,spawn(test,server,[])). request(To,Name) -> {testserver, To} ! [self(),{request,Name}], receive {reply,Res} -> io:format("Get ~p from ~p!~n",[Res,To]) after 5000 -> io:format("connect failed~n",[]) end.
1,将代码拷贝到两台主机上comA,comB上,其中comA为server端,comB为client端,这里需要确保comB配置好了comA的host
2,在comA和comB上创建~/.erlang.cookie,输入同样的内容
在服务器comA开启服务
comA:~/project # erl -sname hserver Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) (hserver@comA)1> c(test). {ok,test} (hserver@comA)2> test:start(). true Get "hello server!" from client <9327.39.0>! (hserver@comA)3>
在客户端comB发起消息
comB:~/project # erl -sname hclient Erlang R16B (erts-5.10.1) [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false] Eshell V5.10.1 (abort with ^G) (hclient@comB)1> c(test). {ok,test} (hclient@comB)2> test:request(hserver@comA,"hello server!"). Get "Hello hello server!" from hserver@comA! ok
需要在comB的/ets/hosts中配置comB_ip comB
试了一下test:request(hserver@192.168.2.2,"hello server!").会有语法错,估计必须是通过主机名发起消息
相关推荐
在Erlang的版本管理中,`kerl`是一个方便的工具,用于构建、安装和管理Erlang/OTP(Open Telecom Platform)的源代码版本。标签"erlang"表明讨论的核心是Erlang语言本身。文件名"otp_src_25.1"代表了OTP的源代码包,...
Erlang/OTP 26.2.1,Erlang,OTP,26.2.1
confetti, Erlang配置提供程序/应用程序 纸屑五彩纸屑是你的Erlang应用程序的配置提供程序。基本上是 application:get_env/2 在类固醇上。特性管理控制台可以通过telnet维护部门访问将为你 love在运行时重新加载( ...
【标题】"Erlang 学习笔记1" 在深入探讨Erlang这一强大的并发编程语言之前,我们先来理解一下Erlang的基本概念。Erlang是由瑞典电信设备制造商Ericsson开发的一种函数式编程语言,它最初设计的目的是为了处理分布式...
### Erlang学习笔记:深入解析Erlang编程与系统管理 #### 1. Erlang编程基础与资源 在深入探讨Erlang编程之前,我们首先需要了解一些基础资源和学习资料。Erlang官方网站([www.erlang.org](http://www.erlang.org...
官网下载实在是困难,我把当前Erlang / OTP 21.0 版本提交到这里提供给大家和自己下载 原先积分0的现在都这么高了,为了方便大家,放出云盘地址:https://pan.百度.com/s/1hb8vPiMslXxNuJC8PvnKgg提取码wmx8
RabbitMQ,一个基于Erlang开发的消息队列系统,是实现异步通信的关键组件。 标题中提到的“Erlang官网下载过慢”可能是因为网络问题或者官方服务器的繁忙导致的,这对于急需安装或更新Erlang的开发者来说是一个常见...
本压缩包提供的是适用于Windows操作系统的Erlang 25.2.3和RabbitMQ Server 3.11.9的下载资源,非常适合个人学习使用。 Erlang是一种函数式编程语言,由瑞典电信设备制造商Ericsson为构建高可用、容错性强的实时系统...
Erlang TCP服务器是用Erlang编程语言实现的一种网络通信服务,它允许程序通过TCP协议接收和发送数据。在Erlang中,构建TCP服务器通常涉及到以下关键知识点: 1. **Erlang OTP(Open Telecom Platform)**:Erlang ...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、...通过阅读和理解这些代码,开发者可以学习到Erlang的并发编程技巧、网络通信以及如何实现一个简单的分布式聊天应用。
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-...
erlang otp25 win安装包
rabbitmq安装相关的包,erlang.rpm/rabbitmq-server.rpm/socat.rpm,安装步骤看https://blog.csdn.net/qq_37846169/article/details/126085715?utm_source=app&app_version=5.5.0
Erlang OTP (Open Telephony Platform) 是一种高级并发编程语言和框架,主要由瑞典电信设备制造商Ericsson开发,用于构建高度可靠、可扩展和实时的分布式系统。Erlang OTP 25.0是该平台的一个版本,特别针对Windows ...
在Erlang环境下,RabbitMQ可以充分利用Erlang的并发性和容错性,为各种服务提供可靠的通信桥梁。因此,在部署RabbitMQ之前,必须确保Erlang OTP环境已经正确安装并且版本兼容。 安装Erlang OTP 23.0后,用户还需要...
Erlang Server源码分析与详解 Erlang是一种面向并发的、函数式编程语言,以其在分布式系统、高可用性和容错性方面的优势而受到广泛关注。尤其在构建大规模聊天室服务器这样的实时通信系统中,Erlang的性能表现突出...
标题中的"erlang20.3+rabbitmq server.rar"表明这是一个包含Erlang OTP版本20.3和RabbitMQ服务器的压缩包,专为在Windows操作系统上部署RabbitMQ设计。Erlang是一种并发性极强的编程语言,主要用于构建高可用性和...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,最初由Jabber项目创建,后来被IETF接纳为互联网标准草案。它旨在提供安全、可扩展且灵活的即时通讯(IM)和在线状态服务。XMPP的...
otp_win64_22.2.exe ...rabbitmq-server-3.8.2.exe windows64位下 欢迎下载 官网地址: Erlang:https://www.erlang.org/downloads RabbitMQ:https://www.rabbitmq.com/install-windows.html
Joe的那篇erlang论文 Programming Erlang + 源码包 Erlang Programming Concurrent Programming in Erlang efficiecy guide 资源齐全.希望能帮到你.