五、MyQQ子系统设计
5.1子系统的划分
5.1.1客户端注册模块
注册模块主要是在客户端第一次使用企业QQ程序时对当前用户进行注册,申请属于自己的qq号,并将注册的信息发送给服务器端进行记录。
5.1.2客户端登录模块
登录模块主要是在登陆界面,将用户名和密码发送到服务器端,当服务器端有该用户时,将返回一个登录成功的消息,通过该消息,将关闭登录窗体,进入QQ窗体。而当输入有误时,则不能进行到好友界面。也没有登录失败的提示。 5.1.3客户端QQ模块
QQ模块主要是显示已注册的所有用户的名称,并根据用户在线
的情况设置用户名称前的图标样式。 5.1.4客户端消息发送模块
消息发送模块主要是用于实现客户端与远程客户端的消息通信,不但可以发送大容量的图片还可以实现视频连接。 5.1.5服务器控制台模块
该模块是客户端与远程客户端相互通信的一个中转站,并且在该窗体上显示已注册的所有用户信息。 5.1.6用户信息管理模块
该模块是对用客户端用户的个人信息的查看,以及数据库中有误信息的更改。
5.2子系统设计
5.2.1客户端注册模块
在注册模块应用了INI文件,以及获取windows路径的技术,他么都是利用API函数实现的,所以在命名空间中添加Using System.Runtime.InteropServices命名空间内。 5.2.2客户端登录模块
在UDP协议的监听事件中通过开启一个线程,来现实局域网信息的发送和接收。 5.2.3客户端QQ模块
在本窗体中使用Inner List列表记录当前已注册用户的信息,并将Inner List列表中的信息添加到tree View1空间中,Inner List用于存储项目的ArrayList对象,它是CollectionBase对象中的一个属性,
可以通过该属性的Add和Remove方法想列表中添加和移除元素 5.2.4客户端消息发送模块
在用Socket发送消息时,只能以二进制流的形式进行发送,并且Socket发送的内存流不能大于1024,当发送大容量的图片时,要对图片进行分流发送,可以调用Memory Stream对象的Read()方法来读取指定的块的消息。 5.2.5服务器控制台模块
在本模块中使用了Binary Formatter对象,该对象是以二进制格式将对象或整个链接图形序列化或这反序列化。 5.2.6用户信息管理模块
在本模块使用了连接数据库的功能,将数据库中保存的用户的信息相匹配的展现出来。
在修改个人信息部分,将更新的信息的信息保存至数据库。
相关推荐: