计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费vc++网上寻呼QICQ源代码(附带论文)(一)(3)

2013-06-29 01:28
导读:上线了 可以实时显示用户的状态和随时改变自己的状态 提供了自动弹出消息 好友上线通知 好友下线更新 有权限的人可以发系统广播(或在服务器上发)
上线了
 可以实时显示用户的状态和随时改变自己的状态
 提供了自动弹出消息
 好友上线通知
 好友下线更新
 有权限的人可以发系统广播(或在服务器上发)
 查看好友信息
 按姓名或号码查找某人
 在好友列表中删除某人
 可以选择在某人的好友中删除自己
 更改个人信息
 系统设置
 给在线好友传文件
 消息管理器
 在程序中设定最大,最小窗口尺寸(宽度,高度)
 主窗口总是浮在最上端
 速度快,占用资源少

 第 4 章  概要设计和详细设计
 
 本章将论述软件系统的面向对象设计过程。用Visual C++语言在Windows环境下编程实现。
 
§4.1总体设计概述
 采用客户端——服务器模型,使用从MFC类中的CAsyncSocket类的派生类进行实现底层通讯,底层利用UDP数据报协议进行通讯,这样,便于客户端之间的直接通讯,也可以高效的传送消息。因为使用UDP协议进行通讯,所以要自己控制其可靠性。我每发送一个数据,接受方接受到数据后,会发回一个响应信息,发送方在一个超时时间内,收到响应信息,就表示发送数据成功,若没有收到,就表示发送失败,会按用户指定的次数N,重试N次,如果N次都失败,就返回发送数据失败。当然,发回来的确认信息也可能丢失,但确认信息很短,相对来说,丢失的机率会小一些,是一个折中的办法。
 
 为了保存用户信息和好友信息及一些相关数据,服务器使用到数据库技术。服务器的数据库采用的是ODBC的ACCESS数据源,服务器访问数据库,用的是MFC中的CDatabase和CRecordset,因为,对数据库的操作简单,服务器端,我只要功能,不需做界面,所以使用Sql语句直接访问数据库,已经足够满足要求了。 (转载自科教范文网http://fw.nseac.com)
 
 服务器运行的流程为:
 服务器运行后,开启服务,则服务器开始侦听用户请求,如有信息发送过来,首先,发送回确认信息,然后,建立一个线程,处理接受到的数据。在线程里,按照接受到数据的类别,进行相应的处理,如有需要,会向用户发送处理的结果,或成功或失败的消息,处理结束后,线程就结束了。这样,可以实时接受每个用户的请求,不会因为处理一个用户的请求,而忽略了其它用户。
 
 服务器端主要是为用户存储必要的信息,协调用户之间的通讯,服务器端的设计,主要在功能上面。服务器端的设计和底层通讯的方法,将是我讲述的重点。
 
 客户端的运行流程为:
 若有本地用户信息,则取出本地用户信息,显示登陆窗口,若没有,则显示用户注册窗口(在登陆窗口里,也可以选择用户注册)。登陆时,可选择是否隐身,进入系统后,好友列表中,在线的人,将以高亮度显示,并处在列表的上头。不在线的人,将以灰色显示。登陆后,如果有的话,服务器会发来好友给你发送的离线消息或广播消息。如果有好友上线了,就会通知你,好友下线了,你也可以在好友列表中看到,你可能接受到别人给你发送的消息,或广播消息等。根据用户的操作,可以向好友发送消息,查看好友信息,查看在线的人,查找用户,发送广播消息等等功能。
 
 客户端主要是提供给用户一个友好的用户界面,方便用户操作,客户端主要负责从服务器上得到数据后,显示给用户。从服务器得到好友的IP和Port后,就可以直接与好友进行通讯,聊天等等。客户端主要是界面的设计(除了底层通讯的以外),根据不同的要求,向服务器发送各种类型的请求。然后等待服务器的响应。客户端的界面的设计很繁琐,没有详细介绍的必要,所以,我的重点,将放在服务器的设计上。客户端只是简要的说明一下。

(转载自科教范文网http://fw.nseac.com)
§4.2服务器数据库的设计:

 服务器数据库设计的要求是要能够满足客户端的需求,保存用户信息和用户好友信息,提供离线消息的服务,和发广播消息的服务等。总共有五个表:
 用户信息表(Users)好友信息表(Friends)广播消息表(Broadcast)离线广播表(OffBroadcast)离线消息表(OffMsg)

用户信息表(Users)
主键: UserId
UserId       自动编号            4字节长整形
Id           用户帐号            4字节长整形
Photoid      用户的图象编号      4字节长整形
password     用户登陆的密码      字符串
name      用户的姓名          字符串
sex          用户的性别       单字节整形 0 男  1 女  2 未知
age         用户的年龄     字符串 (为了适应不愿填写此项的人)
canbeadd    能否被人加为好友
//单字节整形 (0,1,2 不能被加入,允许被任何人加入,需要身份验证)
email        电子信箱        字符串
homepage    个人主页        字符串
address      地址            字符串
phone       电话  

上一篇:免费房产证信息数字签名的实现(一)毕业 下一篇:没有了