作者: 乔克斯
查看: 27582|回复: 32

主题标签Tag

打印 上一主题 下一主题

【GG2014案例】可在广域网部署运行的QQ高仿版 -- GG2014总览

[复制链接]
跳转到指定楼层
楼主
乔克斯 发表于 2014-7-23 01:25:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
查看: 27582|回复: 32
     2015.09.24 增加android客户端
  (最新版本:V4.4,2015.09.02
  GG是QQ的高仿版,包括客户端和服务端,可在广域网部署使用,目前最新版本为4.2。我想写一个类似汇总的文章,通过这篇文章,大家可以了解到GG的全貌和最新进展,以及关于一些常见问题的解答也汇总在这里。
  言归正传,对我个人而言,我的目标并不是做一个QQ高仿版的玩具,而是希望做成一个能够真正使用的产品(这个过程还有很长的路要走),并持续维护下去。
  想要直接下载体验的朋友请点击:“下载中心”一.已实现的功能
(01)注册、登录、添加好友、好友列表。
(02)自拍头像。
(03)文字聊天、字体设置、GIF动态表情、窗口震动、截图、手写板、登录状态(在线、离开、忙碌、勿打扰、隐身)、输入提醒
(04)群功能:创建群、加入群、退出群、群聊天
(05)文件传送、文件夹传送(支持断点续传)
(06)语音视频聊天
(07)远程磁盘
(08)远程协助
(09)共享桌面(可以指定要共享的桌面区域)
(10)可靠的P2P
(11)网盘   
(12)离线消息
(13)离线文件
(14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。
(15)最近联系人列表
(16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时关闭程序还是隐藏窗口。
(17)聊天记录:支持本地保存和服务器端保存两种方式。
(18)好友分组:新增/删除分组,修改分组名称,改变好友的所属分组。
(19)打开聊天窗口时,自动显示上次交谈的最后一句话。
(20)输入提醒:像QQ一样,当对方正在输入消息时,我这边的聊天框可以看到对方“正在输入”的提示。
(21)自动记录:GG2014会自动记录上次打开的主界面的位置、大小;最后一次打开的聊天窗口的大小;最后一次设定的字体的颜色、大小等。
(22)主窗体靠边自动隐藏。
(23)录制视频聊天。
(24)支持数据库(SqlServer 2000/2005/2008),并可以通过配置在真实数据库和虚拟数据库之间自由切换。
(25)语音视频设备测试

二.后续待实现的功能
(1)视频会议

三.框架选型
如果要完全从头开发GG,其难度可想而知,所以,利用现有的成熟框架是必要的,我们必须站在别人的肩膀上,才能做得更快更好。截至到现在,GG 所采用的框架和素材如下:
(1)通信框架:ESFramework
(2)语音视频:OMCS
(4)截屏类库:ImageCapturerLib
(5)图片素材:90%以上来自QQ。
开发环境:
  • 服务端和PC端 :VS2010 ,开发语言:C#, .NET Framework 版本: 2.0
  • android移动端:android studio 1.3.2 ,gradle 1.3
  • 部署PC客户端时,客户端机器还需要安装VC++2008 runtime、VC++2010 runtime。

四.相关说明
1.如果要将GG部署到广域网,则可以在服务端的配置文件中设置监听的端口;而在客户端的配置文件中,则可以指定服务器的IP和Port。
2.虚拟数据库
(1)为了部署测试更简单,GG没有采用真实的物理数据库,而是在内存中虚拟了一个数据库(即服务端的VirtualDB类),用于存储用户注册信息、好友关系、群信息等。
(2)GG内置了几个用户:10000、10001、10002、10003、10004,它们的登录密码都是"1"。
(3)GG内置的这几个用户之间都是好友关系。
(4)GG内置了两个群:G001、G002。G001群包含所有内置测试用户,G002群包含10000和10001两个用户。
(5)上述的这些内置信息,在VirtualDB类的构造函数中设定。
3.麦克风、摄像头的选择可在客户端系统设置窗口(SystemSettingForm)中指定。
4.语音视频:也有很多朋友问语音视频设备的工作怎么不正常,或者语音视频不流畅,这个可以直接参考OMCS官方文档:摄像头、麦克风、扬声器设备测试带宽要求
5.GG的皮肤控件使用的是CSkin,如果有关于CSkin的问题,可以直接联系本站站长:乔克斯
6.特别说明一下:GG项目中,只要是我写的代码,全部都放出来了。拜托喜欢每一个dll都有源码的朋友不要再问我要其它的源码了:)

五.版本记录
2013.08.07  --  V1.0, 登录、好友列表、文字聊天、文件传送、文件夹传送
2013.09.02  --  V1.8, 语音视频聊天
2013.09.23  --  V2.0, 网盘、远程磁盘
2013.11.05  --  V2.4, 远程协助、共享桌面
2014.04.15  --  V3.0, 注册、加好友、加入群、群聊
2014.05.16  --  V3.2, 离线消息、离线文件
2014.05.28  --  V3.4, 系统设置、最近联系人
2014.06.30  --  V3.5, 自拍头像、修改密码、删除好友
2014.06.30  --  V3.6语音消息、语音留言
2014.06.30  --  V3.7优化视频聊天
2014.11.06 -- V4.0, 聊天记录、好友分组、托盘闪动消息提醒、登录状态、GIF动态表情
2014.12.31 -- V4.1, 托盘闪动消息提醒、公开JustLib源码。
2015.03.25 -- V4.2, 主窗体靠边自动隐藏
2015.06.17  --  V4.3, 视频聊天全过程录制,生成标准的MP4文件。
2015.09.02  --  V4.4, 增加对SqlServer数据库的支持,并可以通过配置在真实数据库和虚拟数据库之间自由切换。 增加语音视频设备测试功能。
2015.09.02  --  V4.4-NEW, 客户端增加Android移动端版本。

六.GG截图
0.android 移动端。
1.登录框
      
2.主窗体
      
3.聊天窗口
      
4.视频会话邀请
      
5.视频会话
      
6.磁盘访问请求
      
7.进入远程磁盘
      
8.远程磁盘操作
      
9.网盘
      
10.远程协助请求
      
11.远程协助
      
12.共享桌面(指定了QQ影音播放器的区域作为共享区域)
      
13.注册:
          
14.添加好友:
      
15.加入群:
     
16.群聊天:
     
17.离线消息:
      
18.发送离线文件:
      
19.离线文件发送完成、接收完成:
  
20.系统设置:
  
21.最近联系人:
     
22.自拍头像:
      
23.使用自拍头像:
     
24.语音消息、语音留言

25.聊天记录:


26.好友分组:


27.正在输入:



七.最新下载

1.GG服务端和PC端源码
源码下载:
GG V4.4 源码   网盘下载更快
部署下载:
GG V4.4 可直接部署版本   网盘下载更快
(压缩包中有 《部署说明.txt》 和 创建数据库的脚本 《GG2014.sql》)

2.GG安卓版源码     
  GG安卓版本已实现如下功能:
  • 登录服务端
  • 文字聊天,表情图片,消息提醒
  • 好友列表
  • 显示好友在线状态
  • 文件传输
源码下载:
GG-android.rar     网盘下载更快

注:很纠结的事情是,我的GG使用VS2010编译生成的GG.exe文件,这个文件有事会被新毒霸报是病毒,这个问题从最初的1.0版本就有朋友反应过,算是个老问题了。我猜想,也许是编译生成的GG.exe文件中有某段数据与病毒库中的某特征符合吧。如果把GG.exe从压缩包中删除,就不会报病毒了,但是,重新编译生成后,又有可能会报。大家帮我看看源码中有那段代码像是病毒了:)

部署说明:
  • 当前版本服务端默认配置为内存虚拟数据库版本,不需要安装数据库。
  • 将GG2014.Server文件夹拷贝到服务器上,运行GG2014.Server.exe。
  • 修改客户端配置文件GG2014.exe.config中ServerIP配置项的值为服务器的IP。
  • 运行客户端,注册帐号登录试用。
  • 内置测试帐号为 10000,10001,10002,10003,10004;密码都是 1。
  • 若要测试android移动端,请先修改安卓源码中服务器的IP和端口,然后重新编译生成apk。

如果需要使用真实的物理数据库,则需按下列步骤进行:
1. 在SqlServer 2000/2005/2008 中新建数据库GG2014,然后在该库中执行 GG2014.sql 文件中的脚本以创建所需表。
2. 打开服务端的配置文件GG2014.Server.exe.config
(1)修改 UseVirtualDB 配置项的值为false。
(2)修改 DBIP 配置项的值为数据库的IP地址。
(3)修改 SaPwd 配置项的值为数据库管理员sa的密码。
3.修改客户端配置文件GG2014.exe.config中ServerIP配置项的值为服务器的IP。
4.运行客户端,注册帐号登录试用。
________________________________________________________________________

几句题外话:虽然就如何将GG发展为一个有商业价值的产品,我还没有很清晰明确的思路,但是从GG发布以来,通过GG认识了一些朋友,也接了一些小单子,赚了一点小钱。有了一点甜头,目前和2、3个好朋友一起做做小项目也是不错的,这未尝不是一条养家糊口之路了?呵呵。
欢迎和我探讨关于GG2014的一切,我的QQ:2027224508,多多交流!  
大家有什么问题和建议,可以留言,也可以发送email到我邮箱:ggim2013@163.com
如果你觉得还不错,请粉我,顺便再顶一下啊

评分

参与人数 3金钱 +3 收起 理由
Mic无限可能 + 1 感谢LZ对论坛做出的贡献~
cutehali + 1
yyjq + 1 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 转播转播
回复 论坛版权

使用道具 举报

沙发
yyjq 发表于 2014-7-24 16:00:58 | 只看该作者
本帖最后由 yyjq 于 2014-7-24 16:02 编辑

我想问下你这个源码里面的
        (1)通信框架:ESFramework
        (2)语音视频:OMCS
        (3)皮肤框架:SkinForm
        (4)截屏类库:ImageCapturerLib

这些源码有吗?是否是有偿的


板凳
 楼主| 乔克斯 发表于 2014-7-24 16:22:54 | 只看该作者
yyjq 发表于 2014-7-24 16:00
我想问下你这个源码里面的
        (1)通信框架:ESFramework
        (2)语音视频:OMCS

(1)通信框架:ESFramework - 这个是武汉傲瑞科技有限公司的通讯dll,是按照有偿授权使用的。
(2)语音视频:OMCS - 这个也是武汉傲瑞科技有限公司
(3)皮肤框架:SkinForm - 现已更名CSkin,是本论坛的界面库,dll免费使用,源码有偿提供。
(4)截屏类库:ImageCapturerLib - 这个是程序员之窗的截图控件,有源码
地板
crystal_lz 发表于 2014-7-24 19:41:59 | 只看该作者
膜拜大牛、、
5#
yyjq 发表于 2014-7-25 11:07:41 | 只看该作者
(3)皮肤框架:SkinForm - 现已更名CSkin,是本论坛的界面库,dll免费使用,源码有偿提供。
有这个DLL的使用说明吗?
源码价格如何
6#
 楼主| 乔克斯 发表于 2014-7-25 11:56:47 | 只看该作者
yyjq 发表于 2014-7-25 11:07
(3)皮肤框架:SkinForm - 现已更名CSkin,是本论坛的界面库,dll免费使用,源码有偿提供。
有这个DLL的使 ...

加我QQ:345015918
7#
checker110 发表于 2014-7-26 00:06:25 | 只看该作者
顶一个
回复

使用道具 举报

8#
阿文 发表于 2015-2-1 09:17:26 | 只看该作者
就是特别在意那个聊天框怎么实现的就是可以单独背景透明可以支持图文混合
9#
 楼主| 乔克斯 发表于 2015-2-1 13:08:50 | 只看该作者
阿文 发表于 2015-2-1 09:17
就是特别在意那个聊天框怎么实现的就是可以单独背景透明可以支持图文混合 ...

图文混合,CSkin.dll里面的聊天文本框可以实现。文本框透明虽然有办法可以实现,但是会很闪烁。所以去掉了。也不建议去实现。
10#
阿文 发表于 2015-2-4 16:46:05 | 只看该作者
哦明白了目前还不能完好的支持透明对吗
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-11-25 08:05, Processed in 0.673738 second(s), 41 queries , Gzip On.

快速回复 返回顶部 返回列表