最近一段时间工作之余学习了一下erlang,并做了一个多节点通信的小用例,首先说明此用例都是用最简单的语句写的,没有什么otp gen_server之类的,因为还没看到学到这章:1先说明服务器代码为ben.erl,客户端为client.erl,2,服务器启动的时候会新建一个dets表user.tab在当前目录下,并且启动一个ets表,3启动一个客户端会提示要连接服务器名和登录注册登录等过程,某个用户登录成功后服务器会把当前的所有在线用户统计后发给所有用户,当某个用户退出后服务器同样会更新ets列表给所有用户,闲话少说,以下是运行时的截图---ben.erl和client.erl在附件中,我在其中添加了少许注释
1,启动ben服务器,这里我叫喜欢叫他ben(本)名字可随便改但要记住,我的主机名是wave,警告随他去吧
2,启动一个客户端,名字这里为jias 可随便,下图演示了用户名注册,登录和得到当前所有用户信息列表
其实还有一个叫{ben,ben,ben}的,本来想代表服务器,没啥作用
3,启动另外一个客户端,这里叫chao 可随便改,下图演示了用户登录,注册和等到用户信息,这里的密码没有做验证所以也没意义,注意用户名是唯一的
4,下图是chao登录后jias的用户列表变化--多了一个
5,下图是chao客户端退出了
6,下图是jias客户端在chao退出后的变化--少了一个
7,下图是服务器ben的一些记录信息
这些都是无聊的时候做的一点小测试,主要为了验证节点通信和ets和dets的应用场合,原理非常的简单,代码也是最初级的目前也只会这么一点,本来想继续加个点对点聊天的,不过在dos下真的不爽也没多大意义,希望大家不要鄙视我啊
分享到:
相关推荐
我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手熟悉语言,但是LeetCode OJ里面只有几门主流语言的答案,下面是已完成的erlang源代码,后续有空再做其他问题续传,题目包含:(源码开头都有题目...
在这个"Erlang入门:构建application练习5(监督树)"中,我们将探讨如何构建一个包含监督树的应用,这是Erlang OTP(开放电信平台)设计模式中的核心部分。 监督树是Erlang OTP设计原则的重要组成部分,它用于管理...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。在本教程中,我们将深入探讨如何使用Erlang构建一个名为"Application"的基本应用程序,这在...
在Erlang编程语言中,进程是其核心特性之一,它们是并发执行的实体,类似于其他语言中的线程。在Erlang中,进程间通信(IPC)是通过消息传递来实现的,而`link`机制是这个通信模型中非常重要的一部分。本教程将通过...
》被广泛认为是Erlang入门的优秀教材,由Erlang专家Fred Hébert所著。本书以幽默风趣的语言和轻松的叙述方式,带领初学者从Erlang的基础概念开始学习,逐步过渡到并发和分布式编程的高级话题。书中不仅介绍了Erlang...
免责声明:这个项目是作为一个练习开始的,目的是了解更多关于 Erlang/OTP 的解析转换。 不要期望一个成熟的、没有错误的工具可以集成到生产软件中,而是一个实验性的软件,你可以用它来开始在你的 Erlang 应用程
本文将深入探讨一个名为"messager"的入门级练习项目,该项目通过多shell实现简单的聊天交互功能,以此揭示Erlang在聊天应用开发中的魅力。 首先,Erlang是一种动态类型的函数式编程语言,由爱立信在1986年开发,其...
书中的每种语言都包括了其特性、应用场景、基础入门知识以及关键编程范型的讲解。通过实际操作和解决特定问题,读者可以深入体验每种语言的独特之处,从而更好地掌握它们。作者强调实践的重要性,鼓励读者直接参与到...
此外,书中还包括了C++、C#、CL、Delphi、Erlang、F#、Felix、Haskell、Java、Objective-C、Ruby、Ada、Basic、Clojure、Go、Haxe、Node.js、ooc、Perl和Scala等语言的示例代码,这大大增加了其内容的覆盖面和实用性...
4. **项目模板**:研究组可能提供了基础的项目模板,便于成员进行实践练习,这些模板可能涵盖了一些实际应用场景,如实时聊天应用、Web服务器等。 5. **测试用例**:为了确保代码质量,研究组可能分享了一些测试...
1. **基础入门**:介绍Elixir语言的基本语法,包括元程序设计、模式匹配、管道操作符等。此外,还会讲解Elixir如何处理数据类型,如原子(Atoms)、列表(Lists)、映射(Maps)等,以及如何编写函数和模块。 2. **...