论坛首页 编程语言技术论坛

HIM客户端结构

浏览 3583 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-26  

 

 

此信息同时发布在www.humanmonth.cn 上,源码下载地址:下载地址

 

HIM 是一个由 Flex+Java 实现,基于 Socket 连接的在线聊天程序。下图为客户端结构图。

 

<!----><!---->HIM客户端结构图 <!---->  

 

前后台在开发上的一些区别:本人以前一直负责后台开发,对前台开发并不熟悉。而前台和后台的处理还是有明显区别的。一、请求来源:在后台,响应是基于前台的请求,请求的来源非常单一,比较好控制,所以代码的分层比较容易。而前台,响应是基于事件的,一方面要处理各 UI 元素的事件,另一方面要处理来自服务端的请求。请求的来源非常分散。二、异常处理:服务端的异常处理都是同步的。就算在多线程环境异步调用,异常还是以同步处理的方式,而在客户端则不同,客户端的 Socket 数据交互,异常处理很多是异步的,需要以事件的型式处理。

 

客户端特点:现在的服端务是用 JAVA 实现的,但因为前后台是通过 XML 交互,所以并不依赖于后台。另一方面,由于客户端是由 Flex 实现,所以可以运行在浏览器上,也可以独立出来,作来桌面应用。

 

客户端工作的流程: Chat 为主类,主要作用是协调各功能类的合作。 Chat 初始化后,会新建 Connector Face Protocol ActionRegister 对像。 Connector 负责处理与服务端交互的细节。 Face 是对 UI 元素的一个封装。 Protocol 封装的只是简单的发送协议,例如获取用户列表、发送消息。而 Acton 的子类是对服务端请求的响应。 ActionRegister 是一个注册器,把需要的 Action 注册到 ActionRegister 后统一被 Chat 调用来处理服务端的请求。

 

下面是 demo:

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics