可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)
(最新版本:V6.2,2019.01.03 。Xamarin移动端版本已经推出,包括 Android 和 iOS)
GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端、android移动端)、服务端、数据库。从2013年最初的GG1.0开放源码以来,到后来陆续增加了网盘功能、远程协助功能、离线文件功能、群聊功能、语音聊天功能、视频聊天功能、以及视讯录制功能、和增加了数据库。我想写一个类似汇总的文章,通过这篇文章,大家可以了解到GGTalk开源即时通讯系统的全貌和最新进展,以及关于一些常见问题的解答也汇总在这里。
言归正传,对我个人而言,我的目标并不是做一个QQ高仿版的玩具,而是希望做成一个能够真正使用的产品(这个过程还有很长的路要走),并持续维护下去。
想要直接下载体验的朋友请点击:源码下载中心
一.GGTalk开源即时通讯系统已实现的功能
(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、MySQL),并可以通过配置在真实数据库和虚拟数据库之间自由切换。
(25)语音视频设备测试
(26)聊天消息加密
(27)系统通知
二.开发环境及GGTalk即时通讯源码说明
1. 服务端和PC端 :VS2010 ,开发语言:C#, .NET Framework 版本: 2.0
2. android移动端:android studio 1.3.2 ,gradle 1.3
3. 部署PC客户端时,客户端机器还需要安装 VC++ runtime(2008、2010、2013)。
4. 若是要开始研究GG的源码,客户端和服务端的入口分别是:
(1)客户端:请特别关注 MainFormPartial.cs 这个文件,客户端接收到的消息几乎都是在这个文件中处理的;GlobalUserCache类用于缓存所有的用户信息、群组信息、包括本地持久化这些信息,以及根据版本号自动更新这些信息。
(2)服务端:请特别关注 CustomizeHandler.cs 这个文件,服务端接收到的消息几乎都是在这个文件中处理的;GlobalCache类用于缓存所有的用户信息、群组信息,并与真实/虚拟数据库进行交互。
三.相关说明
1.如果要将GGTalk开源即时通讯系统部署到广域网,则可以在服务端的配置文件中设置监听的端口;而在客户端的配置文件中,则可以指定服务器的IP和Port。
2.麦克风、摄像头的选择可在客户端系统设置窗口(SystemSettingForm)中指定。
3.语音视频:也有很多朋友问语音视频设备的工作怎么不正常,或者语音视频不流畅,这个可以直接参考OMCS官方文档:摄像头、麦克风、扬声器、设备测试 、带宽要求。
4.特别说明一下: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.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集成!
2016.12.06 -- V5.5, 增加对MySQL数据库的支持!
2017.12.11 -- V6.0, 增加Xamarin移动端,包括 Android 和 iOS!
2019.01.03 -- V6.2, PC版修复bug:更新组成员时,没有更新组的version;修复MySQL分页错误,以及查询聊天记录错误。Android版:增加好友在线状态、群聊等功能。
五.GG截图
0. android 移动端
1.登录框
2.主窗体、最近联系人
3.聊天窗口
4.视频会话邀请、视频会话 (2015.06.17 增加视频聊天录制功能)
5.磁盘访问请求、进入远程磁盘
6.远程磁盘操作
7.网盘
8.远程协助
9.共享桌面(指定了QQ影音播放器的区域作为共享区域)
10.注册:
11.添加好友:
12.加入群:
13.群聊天:
14.离线消息:
15.发送离线文件:
16.离线文件发送完成、接收完成:
17.系统设置:
18.自拍头像:
19.使用自拍头像:
20.聊天记录:
21.好友分组:
22.正在输入:
六.最新源码下载
最新源码下载以及部署说明文档,请参见这里。
________________________________________________________________________
几句题外话:从GGTalk发布以来,通过GGTalk认识了一些朋友,也接了一些小单子,赚了一点小钱。有了一点甜头,目前和2、3个好朋友一起做做小项目也是不错的,这未尝不是一条养家糊口之路了?
欢迎和我探讨关于GGTalk的一切,我的QQ:2027224508,多多交流!
大家有什么问题和建议,可以留言,也可以发送email到我邮箱:2027224508@qq.com。
如果你觉得还不错,请粉我,顺便再顶一下啊
可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)的更多相关文章
- 【转】可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)
原文地址:http://www.cnblogs.com/justnow/p/3382160.html (最新版本:V6.0,2017.12.11 .即将推出Xamarin移动端版本,包括 Androi ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)
前段时间看到园子里有朋友开发了QQ高仿版的程序,我也非常有兴趣,以前一直有个做即时聊天程序的梦,趁这段时间工作不是很忙,就开始动手来做这个事情.根据我以往积累下来的项目经验,实现QQ的基本功能,问题应 ...
- 基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
今天我们来盘一盘Socket通讯和WebSocket协议在即时通讯的小应用——聊天. 理论大家估计都知道得差不多了,小编也通过查阅各种资料对理论知识进行了充电,发现好多demo似懂非懂,拷贝回来又运行 ...
- 使用Xamarin开发即时通信系统 -- 基础篇(大量图文讲解 step by step,附源码下载)...
如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微 ...
- iOS 即时通讯 + 仿微信聊天框架 + 源码
这些你造吗? 即时通讯(IM),在IOS这片江湖里面已经算是一个老者了,我这小旋风也是在很早以前巡山的时候,就知道有即时通讯这个妖怪,以前也多多少少接触过一些,在造APP的时候用过,哎呀,说着说着就感 ...
- java SSM 框架 多数据源 代码生成器 websocket即时通讯 shiro redis 后台框架源码
A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技 ...
- 即时通信系统中实现全局系统通知,并与Web后台集成【附C#开源即时通讯系统(支持广域网)——QQ高仿版IM最新源码】
像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用C#开源即时通讯系统——GGTalk的 ...
- 即时通信系统中实现聊天消息加密,让通信更安全【低调赠送:C#开源即时通讯系统(支持广域网)——GGTalk4.5 最新源码】
在即时通讯系统(IM)中,加密重要的通信消息,是一个常见的需求.尤其在一些政府部门的即时通信软件中(如税务系统),对即时聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据.我在最新 ...
- 可在广域网部署运行的QQ高仿版 -- GGTalk总览
(最新版本:V5.5,2016.12.06 增加对MySQL数据库的支持.) (android移动端:2015.09.24 最初发布 ,2016.11.25 最后更新) GGTalk(简称GG)是 ...
随机推荐
- WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
概述 发起一个http请求的过程就是建立一个socket通信的过程. 我们可以模仿浏览器发起http请求,譬如用httpclient工具包,curl命令等方式. curl "http://w ...
- 下载安装 STS(Spring Tool Suite),推荐对应 Eclipse 版本号,适用于Windows32位(xp、2003)
sts下载地址:https://spring.io/tools/sts/legacy 虽然sts内置了版本对应的eclipse,仍推荐使用当前环境下稳定使用的eclipse版本. Start 找到ec ...
- cmd创建文件命令
一.建立空文件的几种方法 1.cd.>a.txt cd.表示改变当前目录为当前目录,即等于没改变:而且此命令不会有输出. >表示把命令输出写入到文件.后面跟着a.txt,就表示写入到a.t ...
- (转)SQL SERVER 生成建表脚本
https://www.cnblogs.com/champaign/p/3492510.html /****** Object: StoredProcedure [dbo].[GET_TableScr ...
- Ubuntu 装nexus
装nexus前提是装好JDK和maven 先下载 wget http://download.sonatype.com/nexus/oss/nexus-2.12.0-01-bundle.tar.gz 再 ...
- NSLog无法使用
iOS/macos 中 #import<foundation/foundation.h> nslog不能用 如果项目中包含c/c++程序代码 将其后缀修改成.m .mm 将项目的build ...
- 508. Most Frequent Subtree Sum 最频繁的子树和
[抄题]: Given the root of a tree, you are asked to find the most frequent subtree sum. The subtree sum ...
- [leetcode]14. Longest Common Prefix 最长公共前缀
Write a function to find the longest common prefix string amongst an array of strings. If there is n ...
- SpringAOP日志配置
SpringAOP日志配置 配置文件配置 l 配置spring-mvc.xml <aop:config proxy-target-class="true" /> &l ...
- 查看linux中tcp连接数
一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议 ...