停止服务器:管理者可以关闭监听窗体,系统断开连接。
监听客户端请求:所有向服务器端请求的客户端的信息都要传到服务器端,再由服务器根据客户端的请求按要求分发出去,客户端再向服务器端发送各种请求。
2.2 系统分析
系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。通过广泛的文献查阅以及调查,本人对即时通信程序的系统功能更有了比较深入的了解,下面可以最终确定出本系统的系统模块和模块功能结构。
2.2.1 系统功能模块
根据需求分析,该系统包含的客户端功能模板有:客户端登录模块,客户端聊天模块,聊天记录模块。
该系统包含的通信服务器端功能模块有:启动服务器,停止服务器,监听客户端模块,建立连接模块。
(1) 聊天窗体模块
聊天窗体主要提供了一个信息编辑框和其他小功能,被发送的信息显示在界面上方的文本框中,并可在下方的文本框中编写聊天信息。聊天窗口负责保持与服务器的连接,两者通过TCP连接进行通信,聊天窗口实现要实现客户端发送客户的请求,服务器收到请求后解析并处理请求,最后向用户返回相应的状态。
(2) 聊天记录模块
客户端的聊天窗体上方的文本框显示了系统信息以及聊天记录,本程序要实现将聊天记录保存为txt文档格式,同时实现聊天记录删除,即清屏。
2.3 系统流程描述
通过掌握系统的流程,开发过程能够更容易的理解软件的主体流程,即时通信程序的客户端主体处理流程如图所示:
客户端的主体处理流程工作可如下描述:
启动客户端,显示登陆对话框,用户选择登录或者退出;
用户输入用户名,服务器IP,监听端口号;
等待服务器处理登录结果显示输入信息是否合法;
用户输入登陆用户名和密码,点击登陆;
等待服务器验证登陆信息,若用户名唯一,则登录成功;
用户在主界面进行某种操作,将请求发送至服务器;
用户可以使用发送聊天信息,发送窗口抖动,保存聊天记录等功能;
在客户端结束之前循环执行用户的各种操作,发送各种请求;
客户端退出则断开连接。
服务器端的主体处理流程如图2.2所示:
服务器端的主体处理流程可如下描述:
服务器启动前,服务器选取本地IP地址和默认端口号做为启动前的准备;
服务器启动,侦听并与客户端建立连接,保存所创立连接;
监听用户登录,服务器首先验证该用户名的合法性,查询是否已有该用户,如果确信合法且没被注册过,则显示登录成功;
建立连接后循环等待客户端的各种请求,并解读用户请求;
转发聊天信息,通过合法连接转发文本信息到接收端,若接收端未登陆则保存至离线信息数据库表中,等待接收端登陆成功后再转发。
2.4 可行性分析
可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上针对新系统的发开是否具备必要性和可能性,对新系统的开发从各方面进行分析和研究以避免投资失误,保证新系统的开发成功。 C#+Socket即时通信程序设计(4):http://www.751com.cn/jisuanji/lunwen_8502.html