2.2.2 Decomposition Description分解描述
2.2.2.1 通信模块
1、简介
该模块负责客户端与服务器端之间的通信,客户端使用java的socket技术、服务器端使用mfc的csocket技术。
2、功能列表
本模块主要包括打开服务器端通信以及打开客户端通信。
2.2.2.1.1 打开服务器端通信
1 功能设计描述 本功能用于创建服务器端的通信结构,等待和处理客户端发来的信息。 (1)类
1)C久违服务器Dlg 该类存在于服务器端,用于提供给管理员一个服务器界面并与管理员进行交互,管理员可以打开和关闭服务器,以及查看当前登录用户的个数和账号信息和登录时间。 2)CServerSocket 该类存在于服务器端,用于接受并处理客户端发来的信息。 (2)类与类之间关系
Page 21 of 53
(3)文件列表 如下表所示。 名称 ServerSocket.h ServerSocket.cpp 久违服务器Dlg.h 久违服务器Dlg.cpp
2 功能实现说明
类型 C++ C++ C++ C++ 存放位置 久违服务器/头文件/ ServerSocket.h 久违服务器/源文件/ ServerSocket.cpp 久违服务器/头文件/久违服务器Dlg.h 久违服务器/源文件/久违服务器Dlg.cpp 说明 CServerSocket类的成员变量和函数的声明部分 CServerSocket类的成员函数顶一部分 C久违服务器Dlg类的成员变量和函数的声明部分 C久违服务器Dlg类的成员函数的定义部分 久违服务器Dlg请求打开socket连接和监听ServerSocket打开socket连接成功和监听
2.2.2.1.2 打开客户端通信
1 功能设计描述 本功能用于打开客户端通信,请求与服务器端的连接或者向服务器端发送信息以及接收服务器端发回的信息并进行广播。 (1)类 1)client 该类继承于线程,用于打开收发信息的线程。 2)getMsg
Page 22 of 53
该类继承于service类用于打开客户端client线程。 2)inputThread
该类继承于线程,用于接收服务器端发来的信息。 2)outputThread
该类继承于线程,用于发送信息到服务器端。
(2)类与类之间关系
(3)文件列表 如下表所示。 名称 client.java 类型 java 存放位置 /LongTimeNoSee/src/com/example/longtimenosee/In_OutThread/client.java /LongTimeNoSee/src/com/example/longtimenosee/Service/getMsg.java /LongTimeNoSee/src/com/example/longtimenosee/In_OutThread/inputThread.java /LongTimeNoSee/src/com/example/longtimenosee/In_OutThread/MessageListener.java 说明 客户端线程类,用于启动收发信息线程。 getMsg.java java 服务类,用于启动客户端线程以及广播信息 inputThread.java java 接收信息线程类,用于接收服务器端发来的信息。 outputThread.java java 发送信息线程类,用于发送信息到服务器端。 Page 23 of 53
2 功能实现说明
getMsg打开client线程clientinputThreadoutputThread打开inputThread线程打开outputThread线程
2.2.2.2 登录、注册、个人资料设置模块
1、简介
本模块实现了登录、注册和个人资料的补全和更改功能,数据上传存储到服务器端。 2、功能列表
本模块主要包括注册新的账号、登录自己账号、个人资料的补全和更改。
2.2.2.2.1 登录功能
1 功能设计描述 本功能将账号和密码信息发送到服务器端、等待服务器端的验证和回复,验证成功则登录成功,否则失败。 2 类
1)MainActivity
该类提供给用户一个UI交互界面,负责将账号密码信息发送到服务器并等待服务器回复,验证成功则跳转到软件主界面,否则进行错误提示。
3 类与类之间关系
Page 24 of 53
4 文件列表 如下表所示。 名称 MainActivity.java 类型 java 存放位置 /LongTimeNoSee/src/com/example/longtimenosee/Activity/MainActivity.java 说明 提供给用户界面以及向服务器发送账号和密码等待回复,并进行不同的操作。 5 功能实现
Page 25 of 53