gsbhz f2cd5586b5 v
2016-06-13 09:36:29 +08:00

可在广域网部署运行的QQ高仿版


项目地址:http://www.cnblogs.com/justnow/p/3382160.html

**查看详细请访问作者博客


  最新版本V5.12016.06.01 增加了系统通知功能!)

  GGTalk简称GG是QQ的高仿版包括客户端PC客户端、android移动端、服务端、数据库可在广域网部署使用。我想写一个类似汇总的文章通过这篇文章大家可以了解到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语音视频设备测试

26聊天消息加密

27系统通知

开发环境及源码入口说明

  1. 服务端和PC端 VS2010 开发语言C# .NET Framework 版本: 2.0

  2. android移动端android studio 1.3.2 gradle 1.3

  3. 部署PC客户端时客户端机器还需要安装 VC++ runtime2008、2010、2013

  4. 若是要开始研究GG的源码客户端和服务端的入口分别是

1客户端请特别关注 MainFormPartial.cs 这个文件客户端接收到的消息几乎都是在这个文件中处理的GlobalUserCache类用于缓存所有的用户信息、群组信息、包括本地持久化这些信息以及根据版本号自动更新这些信息。

2服务端请特别关注 CustomizeHandler.cs 这个文件服务端接收到的消息几乎都是在这个文件中处理的GlobalCache类用于缓存所有的用户信息、群组信息并与真实/虚拟数据库进行交互。

相关说明

1.如果要将GG部署到广域网则可以在服务端的配置文件中设置监听的端口而在客户端的配置文件中则可以指定服务器的IP和Port。

2.麦克风、摄像头的选择可在客户端系统设置窗口SystemSettingForm中指定。

3.语音视频也有很多朋友问语音视频设备的工作怎么不正常或者语音视频不流畅这个可以直接参考OMCS官方文档摄像头、麦克风、扬声器、设备测试 、带宽要求。

4.特别说明一下GG项目中只要是我写的代码全部都放出来了。拜托喜欢每一个dll都有源码的朋友不要再问我要其它的源码了

开发环境

  1. 服务端和PC端 VS2010 开发语言C# .NET Framework 版本: 2.0

  2. android移动端android studio 1.3.2 gradle 1.3

  3. 部署PC客户端时客户端机器还需要安装 VC++ runtime2008、2010、2013

  4. 若是要开始研究GG的源码客户端和服务端的入口分别是

1客户端请特别关注 MainFormPartial.cs 这个文件客户端接收到的消息几乎都是在这个文件中处理的GlobalUserCache类用于缓存所有的用户信息、群组信息、包括本地持久化这些信息以及根据版本号自动更新这些信息。

2服务端请特别关注 CustomizeHandler.cs 这个文件服务端接收到的消息几乎都是在这个文件中处理的GlobalCache类用于缓存所有的用户信息、群组信息并与真实/虚拟数据库进行交互。

版本记录

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.08.06 -- V3.6 语音消息、语音留言

2014.09.16 -- 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 客户端增加Android移动端版本。

2016.01.20 -- V4.5 加密聊天消息,让通信更安全!语音视频优化,视频聊天更流畅!

2016.05.30 -- V5.1 增加系统通知功能并支持与Web集成

部署说明:

1.当前版本服务端默认配置为内存虚拟数据库版本,不需要安装数据库。

2.将GGTalk.Server文件夹拷贝到服务器上运行GGTalk.Server.exe。

3.修改客户端配置文件GGTalk.exe.config中ServerIP配置项的值为服务器的IP。

4.运行客户端,注册帐号登录试用。

5.内置测试帐号为 1000010001100021000310004密码都是 1。

6.若要测试android移动端请先修改安卓源码中服务器的IP和端口然后重新编译生成apk。

如果需要使用真实的物理数据库,则需按下列步骤进行:

  1. 在SqlServer 2000/2005/2008 中新建数据库GGTalk然后在该库中执行 GGTalk.sql 文件中的脚本以创建所需表。

  2. 打开服务端的配置文件GGTalk.Server.exe.config

1修改 UseVirtualDB 配置项的值为false。

2修改 DBIP 配置项的值为数据库的IP地址。

3修改 SaPwd 配置项的值为数据库管理员sa的密码。

3.修改客户端配置文件GGTalk.exe.config中ServerIP配置项的值为服务器的IP。

4.运行客户端,注册帐号登录试用。

GG安卓版源码

  GG安卓版本已实现如下功能

1登录服务端

2文字聊天表情图片,消息提醒

3好友列表

4显示好友在线状态

5文件传输

说明本安卓demo属于入门级水平目的是为了展示与PC打通的基本实现。若要将GG安卓版本的源码用于正式项目中建议先对其进行重构或者敬请等候后续更完善的版本分享给大家

Description
可在广域网部署运行的QQ高仿版 -- GG叽叽。 项目地址:http://www.cnblogs.com/justnow/
Readme 59 MiB
Languages
C# 83.4%
Java 16.6%