`
yjl49
  • 浏览: 113287 次
社区版块
存档分类
最新评论

Erlang 聊天室程序(二) 客户端的退出

阅读更多

接着上一篇Erlang 聊天室程序(一) 。客户端退出会导致服务器端异常退出。

异常信息如下:


显然已经在client_session的 handle_info({tcp_closed,Socket},State) 中捕捉到了Socket断链信息。

再向chat_room:logout(Ref)中加入打印代码进行测试:


错误信息如下:


改变位置:


错误信息如下:


看来错误是出在gen_server:call里面的。

的确如此,加上返回值{reply,ok,State} 再进行测试。


已经没有错误信息了。

 

分享到:
评论

相关推荐

    一个我自己学习Erlang的聊天室服务器及客户端代码

    【Erlang聊天室服务器及客户端代码解析】 在IT领域,Erlang是一种面向并发、分布式、容错的编程语言,特别适合构建高可用性的实时系统。本项目提供了一个使用Erlang编写的聊天室服务器端代码以及Java编写的客户端...

    erlang聊天室源码

    **Erlang聊天室源码解析** Erlang是一种面向并发的编程语言,因其在分布式系统和高可用性服务中的出色表现,常被用于构建消息队列如RabbitMQ这样的项目。本篇将深入探讨一个基于Erlang实现的简单聊天室源码,帮助...

    erlang 聊天室源码

    3. **聊天室房间管理**:可能有多个聊天室,用户可以选择加入或退出。这就需要一个房间管理模块来维护用户与房间的关系,以及管理各个房间的消息流。 4. **实时通信**:为了实现实时交互,可以使用Erlang的TCP/UDP...

    erlang 聊天室

    在本文中,我们将深入探讨如何使用Erlang构建一个简易的聊天室,主要涉及的关键技术是gen_tcp和gen_server。Erlang是一种并发性极强、面向进程的编程语言,特别适合于构建高可用性和可扩展性的分布式系统,如聊天室...

    Erlang程序设计(第二版)及源码

    书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、ETS和DETS等主题。...

    erldocker, 面向Erlang的Docker 远程API客户端.zip

    erldocker, 面向Erlang的Docker 远程API客户端 erldockererldocker 是一个Erlang应用程序,它实现了 Docker 远程 API v1.4.public 模块包括:docker,docker_container 和 docker_image 。设置要开始

    Erlang程序设计(第2版)1

    【Erlang程序设计(第2版)】是由Erlang之父Joe Armstrong撰写的一本经典著作,专注于介绍Erlang编程语言在并发、分布式和容错系统中的应用。本书适用于初学者和有一定经验的Erlang程序员。作者在书中讨论了如何利用...

    erlang-java聊天

    这个聊天程序可能包括客户端和服务器端的组件,允许用户通过Erlang或Java环境进行实时通信。 **Erlang的特性** Erlang是一种函数式编程语言,以其并发处理和容错能力而闻名。在构建聊天系统时,Erlang的轻量级进程...

    erlang程序设计(第二版)中文pdf

    erlang 程序设计(第二版) 中文 pdf

    使用erlang连接ES的客户端

    本文将详细讨论如何使用Erlang作为客户端来连接并操作Elasticsearch服务器。 首先,为了连接Elasticsearch,我们需要一个Erlang的客户端库。目前,有多个Erlang库可以实现这一功能,如`es_client`可能就是这样的一...

    Erlang简易聊天室

    使用Shell充当客户端,多个聊天频道,支持私聊 队伍聊天 区域聊天; Mysql存储用户账户密码,实现注册登录; 此项目由本人入门Erlang过程中编写,前期了解Erlang这门语言如何使用Socket和进程的调用,以及各种Erlang...

    erlang程序设计第二版课后习题答案(精简版).zip

    《Erlang程序设计第二版》是一本深入探讨Erlang编程语言的书籍,它旨在帮助读者掌握Erlang的核心概念和技术,以实现高并发、容错性和分布式系统的开发。课后习题是学习过程中不可或缺的一部分,它们能够检验并巩固...

    hackney:Erlang中的简单HTTP客户端

    “hackney:Erlang中的简单HTTP客户端”表明这是一个专注于Erlang编程语言的HTTP客户端库,名为“hackney”。这个库的主要功能是为Erlang开发者提供方便、简洁的方式来发送HTTP请求并接收响应。 **描述解析:** ...

    Erlang程序设计,包含完整目录和全套源码

    这个压缩包包含了Erlang程序设计的完整目录和源码,是学习和理解Erlang编程的重要资源。 Erlang的并发特性源于其轻量级进程模型,每个进程都有自己的内存空间,进程间通信通过消息传递实现,这种设计降低了并发执行...

    erlang与delphi多客户端通讯

    本话题主要探讨了如何使用Erlang和Delphi这两种不同的编程语言实现多客户端间的通信,并且提及了Flash客户端的兼容性以及843端口的使用。下面我们将详细探讨这些知识点。 1. **Erlang**: Erlang是一种静态类型的...

    erlang -c语言程序接口.pdf

    Erlang倾向于采用第二种方式,即进程间通信,来与C语言程序进行交互。 #### 三、Erlang与C语言接口的工作原理 在Erlang中,与C语言程序进行通信通常是通过端口(Port)机制来实现的。端口是Erlang提供的一种特殊机制...

    erlang程序设计相关例子程序

    在提供的文件列表中,我们可以看到一系列与Erlang编程相关的`.beam`文件,这些都是编译后Erlang模块的二进制表示。下面我们将详细探讨这些文件可能涉及的Erlang知识点。 1. **lib_misc.beam** - 这个文件可能包含...

    Erlang程序设计第二版

    Joe Armstrong是Erlang语言的创建者之一,他也是本书《Erlang程序设计第二版》的作者。 在Erlang程序设计中,进程是一个核心概念。Erlang的进程与其他编程语言中的进程或线程有所不同。在Erlang中,进程是轻量级的...

    Erlang程序设计中文版

    在"Erlang程序设计中文版"这本书中,读者可以深入理解Erlang的核心概念和技术,从而掌握利用Erlang进行高效软件开发的技能。 1. **函数式编程**:Erlang是函数式编程语言的代表之一,它强调通过函数而不是变量状态...

Global site tag (gtag.js) - Google Analytics