客户端的实现上与服务端端结构体设计一致,在类的设计上与服务器相似,主要是设计了三个类CSocketObj类、CThreadObj类、CWSAEventSelect类。但客户端类CWSAEventSelect和CSocketObj在实现上与服务端有所不同。
即时通讯软件-类设计
类CWSAEventSelect
客户端的类CWSAEventSelect处理程序负责监听一切网络消息,并对它们进行处理反映在界面上。同服务器端的CWSAEventSelect--样,客户端的CWSAEventSelect采用单件设计模式。作为进程唯一接受网络消息的入口,和处理工厂。
即时通讯软件-客户端功能模块设计
即时通讯系统的客户端需要具备以下功能:
1.配置管理:负责客户端的配置信息,如界面、用户帐号、密码等操作配置;
2.好友列表:让用户在即时通讯期间了解好友的状态信息;
3.好友管理:允许移动用户添加其他用户到好友列表中;
4.聊天界面:让用户与他人进行文本聊天。
即时通讯软件-客户端接入控制功能的设计
即时通讯系统的客户端要完成用户需要的操作,必须具备以下两个控制功能:
1.逻辑操作:负责解释用户的操作命令;
2.消息控制:负责接受从服务器或者其他客户端发送来的文本信息和其他请求操;
即时通讯软件-客户端用户界面的设计
即时通讯系统的客户端需要由以下几个界面完成用户交互:
1.好友管理界面:负责显示好友列表,表现好友当前状态,提示消息;
2.聊天界面:负责实现用户与好友的文本输入,显示来自好友的文本消息:
3.查询界面:负责实现帮组用户简化查询条件的输入;
4.用户显示界面:负责实现用户列表的显示,帮助用户完成加好友操作:
5.个人信息查看界面:查看用户当前个人信息;
6.更改个人信息界面:帮助用户完成交友信息设置;
7.更改密码界面:负责完成密码的修改。