gg-v3.0(rar/9.6MB)
一.GG V3.0 新增功能展现 (1)注册新帐号。
(2)添加好友(包括:通知对方、好友上下线通知)。
(3)加入群(包括:通知其它群友、群友上下线通知)。
(4)群聊天。
(5)以前版本的帐号只能为数字(就像QQ一样),但是,3.0及以后版本,帐号中可以包含字母。
二.实现思路 虽然提供了源代码,但是,我还是想将主要的思路列一下,这样,大家理解起源码来,会节省更多的时间。
1.虚拟数据库(1)为了部署测试更简单,GG没有采用真实的物理数据库,而是在内存中虚拟了一个数据库(即服务端的VirtualDB类),用于存储用户注册信息、好友关系、群信息等。
(2)GG内置了几个用户:10000、10001、10002、10003、10004,它们的登录密码都是“1“。
(3)GG内置的这几个用户之间都是好友关系。
(4)GG内置了两个群:G001、G002。G001群包含所有内置测试用户,G002群包含10000和10001两个用户。
(5)上述的这些内置信息,在VirtualDB类的构造函数中设定。
2.服务端主要变更(1)RegisterService:服务端发布了一个Remoting服务RegisterService,用于提供注册服务。由于注册之前,用户帐号还不存在,所以,不能通过ESFramework来实现。
(2)FriendsManager:服务端增加了FriendsManager类,以提供好友关系信息。
(3)GroupManager:服务端增加了GroupManager类,以提供群/组的信息。
(4)BasicHandler:服务端修改了BasicHandler类的实现,以验证客户端登录的用户帐号密码。
(5)CustomizeHandler:服务端修改了CustomizeHandler的实现,使之可以处理来自客户端的各种请求消息(如加入群、加好友等请求)。
3.客户端主要变更(1)增加RegisterForm、AddFriendForm、JoinGroupForm、GroupChatForm四个窗体分别用于注册、添加好友、加入群、群聊天。
(2)增加GlobalUserCache类,用于缓存所有的好友信息。
(3)客户端接收到的所有消息都是在MainFormPartial.cs文件中处理的,包括广播消息(如群聊)。
(4)用户信息使用User类封装(位于GG.Core项目的Entity.cs文件中)。
客户评分