可在广域网部署运行的QQ高仿版 -- GG叽叽V3.4,增加系统设置、最近联系人、群功能(源码)
2014-05-28 20:00
274 查看
自从上次版本(GG叽叽V3.2,增加离线消息、离线文件功能)发布后,我个人觉得主要的大功能都实现得差不多了,接下来的几个版本将不断优化GG的细节,提高其可用性。这次版本更新的内容主要是为GG增加了系统设置、并完善的了群所需的基础功能。
(1)创建群
(2)退出群(同时,通知其它群成员)
2.系统设置
(1)叉掉主窗口时,关闭程序还是隐藏窗口。
(2)麦克风设备索引
(3)摄像头设备索引
(4)开机自动启动
3.其它
(1)最近联系人列表。
(2)密码不再使用明文,而是用md5加密。
(3)发现的bug修复。
废话不多说,还是先上图。
主面板变化:
创建群:
退出群:
系统设置:
最近联系人:
1. GG V3.4 在客户端增加了SystemSettings类,对应系统设置的内容。其将会被序列化保存为本地文件,默认是运行目录下的GGConfig.xml文件。
2. SystemSettings被设计为Singleton模式,第一次使用时,将会自动加载;每次修改后,将重新序列化保存。
3. 客户端增加了SystemSettingForm窗体,用于显示和设置SystemSettings的选项值。
4.客户端主界面增加了一个ChatListBox控件,用于显示最近联系人列表,在每次创建聊天窗口时,会将对应的好友置于“最近联系人”列表的顶端。(MainForm的GetChatForm方法)
5.创建群
(1)InformationTypes增加信息类型:CreateGroup。
(2)服务端:VirtualDB类增加CreateGroup方法,如果创建群成功,则创建者会自动成为群成员;CustomizeHandler类的HandleQuery增加了对CreateGroup类型信息的处理。
(3)客户端:增加了CreateGroupForm窗体,用于创建群。
6.退出群
(1)InformationTypes增加信息类型:QuitGroup(申请退出群)。BroadcastTypes增加广播信息类型:SomeoneQuitGroup(用于通知其他群成员有人退出了群)。
(2)服务端:VirtualDB类增加QuitGroup方法;CustomizeHandler类的HandleInformation增加了对QuitGroup类型信息的处理(并通知其他群成员)。
(3)客户端:在MainFormPartial.cs文件的GroupOutter_BroadcastReceived方法中,增加了对SomeoneQuitGroup广播消息的处理。
7.开机启动:GG是通过修改注册表的方式来决定是否开机自动启动,但是修改注册表需要管理员的权限,这意味着,如果要使用这一功能,必须以管理员的身份启动GG。针对这一点,我觉得不是很好。QQ是不需要管理员权限就实现了这样的功能,它是怎么做到的了?有知道的朋友请留言告知一下。(在发布的GG版本中,我屏蔽掉了实现该功能的代码,SystemSettingForm的skinCheckBox1_CheckedChanged方法)。
注意:如果要将GG部署到广域网,则可以在服务端的配置文件中设置监听的端口;而在客户端的配置文件中,则可以指定服务器的IP和Port。
关于GG的最新全貌介绍、以及如何部署、试用帐号等问题,我单独写了一篇文章,作为汇总,可参见 可在广域网部署运行的QQ高仿版 -- GG2013概要。
欢迎和我探讨关于GG2013的一切,我的QQ:2027224508,多多交流!
大家有什么问题和建议,可以留言,也可以发送email到我邮箱:ggim2013@163.com。
如果你觉得还不错,请粉我,顺便再顶一下啊,呵呵
一.GG V3.4 新增功能展现
1.群功能完善(1)创建群
(2)退出群(同时,通知其它群成员)
2.系统设置
(1)叉掉主窗口时,关闭程序还是隐藏窗口。
(2)麦克风设备索引
(3)摄像头设备索引
(4)开机自动启动
3.其它
(1)最近联系人列表。
(2)密码不再使用明文,而是用md5加密。
(3)发现的bug修复。
废话不多说,还是先上图。
主面板变化:
创建群:
退出群:
系统设置:
最近联系人:
二.实现思路
虽然提供了源代码,但是,我还是想将主要的思路列一下,这样,大家理解起源码来,会节省更多的时间。1. GG V3.4 在客户端增加了SystemSettings类,对应系统设置的内容。其将会被序列化保存为本地文件,默认是运行目录下的GGConfig.xml文件。
2. SystemSettings被设计为Singleton模式,第一次使用时,将会自动加载;每次修改后,将重新序列化保存。
3. 客户端增加了SystemSettingForm窗体,用于显示和设置SystemSettings的选项值。
4.客户端主界面增加了一个ChatListBox控件,用于显示最近联系人列表,在每次创建聊天窗口时,会将对应的好友置于“最近联系人”列表的顶端。(MainForm的GetChatForm方法)
5.创建群
(1)InformationTypes增加信息类型:CreateGroup。
(2)服务端:VirtualDB类增加CreateGroup方法,如果创建群成功,则创建者会自动成为群成员;CustomizeHandler类的HandleQuery增加了对CreateGroup类型信息的处理。
(3)客户端:增加了CreateGroupForm窗体,用于创建群。
6.退出群
(1)InformationTypes增加信息类型:QuitGroup(申请退出群)。BroadcastTypes增加广播信息类型:SomeoneQuitGroup(用于通知其他群成员有人退出了群)。
(2)服务端:VirtualDB类增加QuitGroup方法;CustomizeHandler类的HandleInformation增加了对QuitGroup类型信息的处理(并通知其他群成员)。
(3)客户端:在MainFormPartial.cs文件的GroupOutter_BroadcastReceived方法中,增加了对SomeoneQuitGroup广播消息的处理。
7.开机启动:GG是通过修改注册表的方式来决定是否开机自动启动,但是修改注册表需要管理员的权限,这意味着,如果要使用这一功能,必须以管理员的身份启动GG。针对这一点,我觉得不是很好。QQ是不需要管理员权限就实现了这样的功能,它是怎么做到的了?有知道的朋友请留言告知一下。(在发布的GG版本中,我屏蔽掉了实现该功能的代码,SystemSettingForm的skinCheckBox1_CheckedChanged方法)。
三.GG V3.4 源码下载
下载最新版本,请转到这里。注意:如果要将GG部署到广域网,则可以在服务端的配置文件中设置监听的端口;而在客户端的配置文件中,则可以指定服务器的IP和Port。
关于GG的最新全貌介绍、以及如何部署、试用帐号等问题,我单独写了一篇文章,作为汇总,可参见 可在广域网部署运行的QQ高仿版 -- GG2013概要。
欢迎和我探讨关于GG2013的一切,我的QQ:2027224508,多多交流!
大家有什么问题和建议,可以留言,也可以发送email到我邮箱:ggim2013@163.com。
如果你觉得还不错,请粉我,顺便再顶一下啊,呵呵
相关文章推荐
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.5,增加自拍头像功能、细节优化(源码)
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.4,增加远程协助、桌面共享功能(源码)
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.2,增加离线消息、离线文件功能(源码)
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.6,增加语音消息、语音留言等功能
- 可在广域网部署运行的QQ高仿版 GG2014 (源码)
- 可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)
- 可在广域网部署运行的QQ高仿版
- 可在广域网部署运行的QQ高仿版 -- GG2014 完美版!新增支持:聊天记录、好友分组、托盘闪动消息提醒、登录状态、GIF动态表情
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.7,优化视频聊天、控制更多相关细节
- 即时通信系统中实现全局系统通知,并与Web后台集成【附C#开源即时通讯系统(支持广域网)——QQ高仿版IM最新源码】
- 可在广域网部署运行的QQ高仿版 -- GG叽叽(开源)
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- 源码推荐(5.14):TYAttributedLabel简单易用的富文本,高仿iOS 系统计算器(基本功能)
- JAVA仿QQ聊天系统4.0(扩展韩顺平的程序的功能及界面)附源码
- C#.NET通用权限管理系统组件中数据集权限设置功能增加内部组织机构选项功能
- 即时通信系统中如何实现:聊天消息加密,让通信更安全? 【低调赠送:QQ高仿版GG 4.5 最新源码】
- Socket实现仿QQ聊天(可部署于广域网)附源码(1)-简介
- Android 高仿微信(QQ)滑动弹出编辑、删除菜单效果,增加下拉刷新功能
- 自动升级系统的设计与实现(续2) -- 增加断点续传功能 (附最新源码)