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

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是一种并发性极强、面向进程的编程语言,特别适合于构建高可用性和可扩展性的分布式系统,如聊天室...

    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连接ES的客户端

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

    Erlang简易聊天室

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

    hackney:Erlang中的简单HTTP客户端

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

    erlang与delphi多客户端通讯

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

    erlang -c语言程序接口.pdf

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

    基于Erlang语言的MQTT v5.0客户端设计源码

    这个基于Erlang语言的MQTT v5.0客户端设计源码项目不仅为物联网通信提供了一个高效的解决方案,同时也展示了如何利用现代开发工具和实践,将一个复杂的通信协议以优雅和高效的方式在Erlang环境中实现。

    erlang简单聊天练习

    4. **Readme说明**:通常会包含如何编译、运行程序以及如何使用这个聊天应用的指导。这对于初学者了解项目流程和运行环境设置至关重要。 **Erlang的并发特性** Erlang的并发模型基于进程,每个进程都有自己的内存...

    erlang server

    在本场景中,"erlang server"指的是使用Erlang语言实现的服务器应用,特别是一个聊天室服务器,以及对应的客户端代码。 **Erlang的关键特性:** 1. **并发性**:Erlang的设计非常适合处理大量并发连接。它通过轻量...

    erlang 程序设计 源码

    8. **错误处理**:Erlang的错误处理通常通过异常机制进行,如果捕获到异常,可以决定是否恢复执行或退出进程。 9. **网络编程**:Erlang天生适合网络编程,因为其内置了对TCP、UDP等协议的支持,可以轻松创建分布式...

    erlmc:Erlang Memcached二进制协议客户端

    Erlang二进制协议Memcached客户端 外部文件 二进制协议规范 快速开始 您必须具有1.3或更高版本的memcached $> make $> make test $> sudo make install $> memcached -d 1> erlmc:start(). ok 2> erlmc:stats(). ...

    confetti, Erlang配置提供程序/应用程序.zip

    confetti, Erlang配置提供程序/应用程序 纸屑五彩纸屑是你的Erlang应用程序的配置提供程序。基本上是 application:get_env/2 在类固醇上。特性管理控制台可以通过telnet维护部门访问将为你 love在运行时重新加载( ...

    erlang windows 安装程序 otp-win64

    erlang for windows 2025年最新版 otp_win64_27.2.1.exe

    基于Erlang的gen_tcp聊天室代码,功能完整

    在这个场景中,我们讨论的是一个使用Erlang和gen_tcp编写的聊天室应用。 **gen_tcp简介** gen_tcp是Erlang OTP(开放电信平台)提供的一种行为模块,它允许程序员以面向过程的方式处理TCP连接。gen_tcp提供了创建、...

Global site tag (gtag.js) - Google Analytics