在广域网中,由于网络的结构纷繁复杂.而且其实时状况又是千变万化的,所以,要使广域网中的视频聊天达到一个令人满意的效果,存在诸多挑战.这次发布的GG 3.7版本尝试在这一方向上做一些努力,据我自己测试,相比之前版本,新版本GG的视频聊天的效果确实有较大提升.本文不仅会分享GG的最新源码,而且也会把我在过去项目中总结的一些语音视频聊天的优化心得分享给大家. 一.GG V3.7 新增功能展现 针对视频聊天的优化,主要体现在以下几点,为了方便介绍,我将VideoForm的窗体设计的截图放在这里: 1.实…
自从微信出来后,语音消息和语音留言变得非常流行,按下一个键说话,比打字要方便多了.GG在V3.6版本增加了对语音消息和语音留言(或称为离线语音消息)的支持.这两个功能的实现已经很完整,只是比较遗憾的一点是:GG所使用的文本框控件,还没有办法像微信的聊天窗口的文本框那样嵌入表示语音消息的控件,所以,我不得不把接收到的语音消息使用一个下拉列表罗列出来,实在很无奈. 一.GG V3.6 新增功能展现 1.语音消息 2.语音留言 3.离线消息分类:离线文字消息.离线语音消息. 4.修复bug:V3.5版…
距离上次发版本(GG叽叽V3.4,增加系统设置.最近联系人.群功能)又有1个月了,在这个月内,由于空闲时间不是很多,所以,GG增加的主要功能只是拍照并设定其为自己头像.修改密码.删除好友.以及一些bug的修改.我试着列了一下接下来GG要优化的地方,总共达20多条,看来GG离一个正式的产品还有很长的路要走.慢慢来吧! 一.GG V3.5 新增功能展现 1.自拍头像 2.修改密码 3.删除好友 4.其它 (1)主窗口允许改变大小. (2)修复bug:聊天发消息时,如果截图很大,对方就收不到. (3)…
自从上次版本(GG叽叽V3.2,增加离线消息.离线文件功能)发布后,我个人觉得主要的大功能都实现得差不多了,接下来的几个版本将不断优化GG的细节,提高其可用性.这次版本更新的内容主要是为GG增加了系统设置.并完善的了群所需的基础功能. 一.GG V3.4 新增功能展现 1.群功能完善 (1)创建群 (2)退出群(同时,通知其它群成员) 2.系统设置 (1)叉掉主窗口时,关闭程序还是隐藏窗口. (2)麦克风设备索引 (3)摄像头设备索引 (4)开机自动启动 3.其它 (1)最近联系人列表. (2)…
(几句题外话:虽然就如何将GG发展为一个有商业价值的产品,我还没有很清晰明确的思路,但是从GG发布以来,通过GG认识了一些朋友,也接了一些小单子,赚了一点小钱.有了一点甜头,目前和2.3个好朋友一起做做小项目也是不错的,这未尝不是一条养家糊口之路了?呵呵) 距离上次更新(GG叽叽V3.0,完善基础功能)正好有1个月了,在这个月中,我主要为GG增加了离线消息和离线文件的功能.之所以将这两个功能提前实现,是因为至GG发布以来,就有很多朋友问我在GG的基础上如何实现离线消息和离线文件.看来作为一个能用…
(前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等,但是,有一些基础且必需的功能一直未实现,比如注册.添加好友.加入群.群聊天等等.经常有朋友留言问这些功能要怎么做,GG3.0终于可以给出一个答案了. 先提醒一下,GG3.0中这些基础功能的实现方式是比较粗糙的,我还没有时间深入考虑性能.缓存等问题(源码中我以“建议”的字样标注了需要优化的地方),后续…
QQ的远程协助.或者说桌面共享是一个非常实用的功能,所以,2.4版本的GG复制了它,而且,GG增强了桌面共享的功能,它可以允许指定要共享桌面的区域,这样,对方就只能看到指定区域的桌面,这对节省流量会非常有帮助. GG实现这些功能的过程并不是那么简单,因为内部业务逻辑的关联容易把人搞晕.从运行起来的程序来说,远程协助的场景很容易理解:一方是请求方,一方是协助方,边界非常清晰.但是在程序中,无论是哪一方,其对应的窗体都是ChatForm,所以,在编码时,你经常需要切换你的思维:一会要站在请求方的角度…
前段时间看到园子里有朋友开发了QQ高仿版的程序,我也非常有兴趣,以前一直有个做即时聊天程序的梦,趁这段时间工作不是很忙,就开始动手来做这个事情.根据我以往积累下来的项目经验,实现QQ的基本功能,问题应该不大.当然,我的目标并不是做一个QQ高仿版的玩具,而是希望做成一个能能够真正使用的产品(当然是免费的),并持续维护下去.想为这个聊天工具取个名字,就抽取了“叽叽歪歪”中的“叽叽”(GG)作为暂时的名称吧. 一.GG的功能规划 我想分成几个阶段来开发GG,每个阶段一个版本,从简单到复杂,从玩具到产品…
距离的GG 1.0发布已经三周了,这三周内,我利用业余时间为GG增加了视频聊天的功能.个人觉得进展有些缓慢,主要是因为大多数时间都花在了UI上.由于本人不会PS,所以图片素材都是从网上一个一个搜下来的,这个过程确实很烦人,而且最终有些素材还不是很满意. 一.GG V1.8 新增功能展现 (1)发送视频会话请求,对方可以接受或拒绝对话. (2)在视频会话的过程中,可以控制自己麦克风的输出.摄像头的输出.以及扬声器是否播放对方的声音. (3)在视频会话的过程中,可以关闭/显示自己的小窗口. (4)在…
尽力2~3周发布一个版本,我这次也没有失言.这段时间内,我仿照QQ的微云功能,在GG中增加了网盘的功能,而且,我还自创了一个QQ没有的新的功能:远程磁盘.正如远程桌面一样,远程磁盘允许我们像访问本地磁盘一样来访问在线的其它用户的磁盘. 一.GG V2.0 新增功能展现 (1)网盘:在服务端为每个用户分配一个网盘,用户通过客户端可以访问自己的网盘.就像QQ的微云一样. (2)远程磁盘:任何一个在线用户,都可以访问其它在线用户的磁盘(先要经过对方的同意). (3)无论是网盘.还是远程磁盘,都支持:上…
距上次GG V3.7版本(可在广域网部署运行的QQ高仿版 -- GG叽叽V3.7,优化视频聊天.控制更多相关细节)的发布,已经有50天了,这50天对于GG来说,是一个重大的飞跃.因为这段时间通过一些基于GG的实战项目,发现了GG的很多bug和不足之处,我都一一做了修正,并增加了一些基础且必须的功能.这次发布的是GG V4.0版本,又称为GG 2014. 记得在GG早期版本时,园子里的吉日兄跟我留言说:"GG完全不能正式使用......",那时我还不是很服气,后来当我基于GG开发正式项目…
 (最新版本:V5.5,2016.12.06  增加对MySQL数据库的支持.) (android移动端:2015.09.24 最初发布 ,2016.11.25 最后更新) GGTalk(简称GG)是QQ的高仿版,包括客户端(PC客户端.android移动端).服务端.数据库,可在广域网部署使用.我想写一个类似汇总的文章,通过这篇文章,大家可以了解到GG的全貌和最新进展,以及关于一些常见问题的解答也汇总在这里. 言归正传,对我个人而言,我的目标并不是做一个QQ高仿版的玩具,而是希望做成一个能够真…
加密重要的通信消息,是一个常见的需求.在一些政府部门的即时通信软件中(如税务系统),对聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据.我在最新的GG 4.5中,增加了对聊天消息进行加密的功能,但这一功能并不是强制的,可以通过开关来进行控制.本文就从 为什么要加密消息.不加密有什么风险开始说起,一直到把GG即时通信系统中实现加密消息的完整实现介绍清楚. 想要直接下载体验的朋友请点击:下载中心 一.为什么要加密消息? 我们知道所有的消息在底层是以bytep[]进行传输的,如果…
记得以前在公司上班时,有时候白天的活没干完,我就会把工作带回家晚上加班继续做.但是,我们开发用的数据库是部署在公司局网内部的一台服务器上的,在家里是肯定连不上这台机器的.在家里没有数据库,服务端就跑不起来,功能也就没办法调试.后来我们的解决方法就是使用虚拟数据库.在公司上班时,就使用公司局网的真实数据库:回到家,就使用内存中虚拟的数据库,做一些基本的功能调试,绝对是足够了. GG之前的版本一直只支持虚拟数据库,因为部署.演示都非常方便.后来有很多朋友要求增加对真实数据库的支持,那么这次GG的最新…
前段时间做个项目,客户需要将视频对话的整个过程录制下来,这样,以后就可以随时观看.想来录制整个视频聊天的过程这样的功能应该是个比较常见的需求,比如,基于网络语音视频的1:1的英语口语辅导,如果能将辅导的整个过程录制下来生成一个标准的MP4文件,就是一份难得的资料,便于以后复习和分享.我将1:1的视频对话录制的功能实现为了一个组件VideoChatRecorder,方便大家复用.并且,我在GG的最新版本4.3中使用了它,这样GG也有了视频聊天录制的功能. (想要直接下载体验的朋友请点击:“下载中心…
QQ有个靠边隐藏的功能,使用起来很方便:在屏幕上拖动QQ的主窗体,当窗体的上边沿与屏幕的上边沿对齐时,主窗体就会duang~~地隐藏起来,当将鼠标移到屏幕上边沿的对应区域时,主窗体又会duang~~显示出来. 我在GG的最新版4.2中也增加了靠边隐藏的功能,支持靠左边沿隐藏.靠上边沿隐藏.靠右边沿隐藏三种模式,并且,将靠边隐藏实现为了一个可复用的组件AutoDocker. 那么,靠边隐藏功能到底是怎么实现的了?(最初实现的过程中,遇到了很多问题,花了不少时间,现在直接把成果共享出来) 想要直接下…
当QQ收到好友的消息时,托盘的图标会变成好友的头像,并闪动起来,点击托盘,就会弹出与好友的聊天框,随即,托盘恢复成QQ的图标,不再闪动.当然,如果还有其它的好友的消息没有提取,托盘的图标会变成另一个好友的图标,并继续闪动.那么,QQ的这一效果是如何实现的了?我在QQ高仿GG2014中实现了同样的效果,这里我就详细地介绍一下.另外,文末最后会奉上GG最新版本4.1的源码,这次甚至包含了JustLib项目的源码哦! 想要直接下载体验的朋友请点击:“下载中心” 一.TwinkleNotifyIcon的…
我们社区在 yii2-authclient 多次升级后,登录异常.一直想寻求一种通用的方法,尽量不重写 OAuth2, BaseOAuth 以及 OAuthToken 类, 所以本次直接在 initUserAttributes 方法返回结果的地方去修改,这样会受 yii2-authclient 升级影响较小,我把 QQClient.php 和 WeiboClient.php 放在 frontend/widgets 下了,接下来我们来看代码! QQClient.php 您的邮箱 259439682…
原文地址:http://www.cnblogs.com/justnow/p/3382160.html (最新版本:V6.0,2017.12.11 .即将推出Xamarin移动端版本,包括 Android 和 iOS) GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端.android移动端).服务端.数据库.从2013年最初的GG1.0开放源码以来,到后来陆续增加了网盘功能.远程协助功能.离线文件功能.群聊功能.语音聊天功能.视频聊天功能.以及…
  (最新版本:V6.2,2019.01.03 .Xamarin移动端版本已经推出,包括 Android 和 iOS) GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端.android移动端).服务端.数据库.从2013年最初的GG1.0开放源码以来,到后来陆续增加了网盘功能.远程协助功能.离线文件功能.群聊功能.语音聊天功能.视频聊天功能.以及视讯录制功能.和增加了数据库.我想写一个类似汇总的文章,通过这篇文章,大家可以了解到GGTalk开…
转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1446 CAS Server集成QQ第三方登录,CAS Server集成新浪微博第三方登录以及CAS Server集成微信网页登录源码和配置基本类似,本文着重介绍一下如何通过CAS Server(cas-server3.5.2)实现qq第三方登录,并分享一下实现代码和具体配置文件内容,虽然包含新浪微博登录但是未经测试,有什么疑问可留言. 首先简单介绍一下CAS Server,它是一套基于J…
百篇博客系列篇.本篇为: v49.xx 鸿蒙内核源码分析(信号消费篇) | 谁让CPU连续四次换栈运行 | 51.c.h .o 进程管理相关篇为: v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁在管理内核资源 | 51.c.h .o v24.xx 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 51.c.h .o v45.xx 鸿蒙内核源码分析(Fork篇) | 一次调用,两次返回 | 51.c.h .o v46.xx 鸿蒙内核源码分析(特殊进程篇) | 龙生龙凤生凤老鼠生儿会…
骗了1200多位朋友,实在惭愧,现在公开我自己的源码实现.本人新人,代码很烂,请凑合看吧O(∩_∩)O~ Form1.cs using System; using System.Text.RegularExpressions; using System.Threading; using System.Windows.Forms; using SkinSharp; using Microsoft.Win32; using System.Xml.Linq; namespace XunYing { p…
前言 我们都知道ImageView是不能完美加载Gif格式的图片,如果我们在ImageView中src指定的资源是gif格式的话,我们将会惊喜的发觉画面永远停留在第一帧,也就是不会有动画效果.当然,经过略加改造,我们是可以让gif在ImageView上完美加载的. 正文 Android给我们提供了一个Movie类,可以让我们实现加载gif格式资源的目标.我们需要导入android.graphics.Movie这个包,当然这个也是Android自带的.所以我们的主要方法是继承一个ImageView…
可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)   前段时间看到园子里有朋友开发了QQ高仿版的程序,我也非常有兴趣,以前一直有个做即时聊天程序的梦,趁这段时间工作不是很忙,就开始动手来做这个事情.根据我以往积累下来的项目经验,实现QQ的基本功能,问题应该不大.当然,我的目标并不是做一个QQ高仿版的玩具,而是希望做成一个能能够真正使用的产品(当然是免费的),并持续维护下去.想为这个聊天工具取个名字,就抽取了“叽叽歪歪”中的“叽叽”(GG)作为暂时的名称吧. 一.GG的功能规划 我想分成几个…
  距上次GG V3.7版本号(可在广域网部署执行的QQ高仿版 -- GG叽叽V3.7.优化视频聊天.控制很多其它相关细节)的公布.已经有50天了,这50天对于GG来说.是一个重大的飞跃. 由于这段时间通过一些基于GG的实战项目,发现了GG的非常多bug和不足之处,我都一一做了修正,并添加了一些基础且必须的功能.这次公布的是GG V4.0版本号,又称为GG 2014. 一.GG 2014 新增功能展现 1.聊天记录:支持本地保存和server端保存两种方式. 2.好友分组:新增/删除分组,改动分…
在即时通讯系统(IM)中,加密重要的通信消息,是一个常见的需求.尤其在一些政府部门的即时通信软件中(如税务系统),对即时聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据.我在最新的GG 4.5中,增加了对即时聊天消息进行加密的功能,但这一功能并不是强制的,可以通过开关来进行控制.本文就从 为什么要加密消息.不加密有什么风险开始说起,一直到把GG即时通信系统中实现加密消息的完整实现介绍清楚. 想要直接下载体验的朋友请点击:下载中心 一.为什么要加密即时聊天消息? 我们知道所有…
像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用C#开源即时通讯系统——GGTalk的朋友都建议我加上一个类似的功能,今天,GGTalk 5.1终于实现了这一功能,并且可以通过Web后台发送全局系统通知.下面,我们将一步步讲述这一功能是如何实现的(通过类似同样的步骤,大家可以为GGTalk添加任意的自己需要的功能). 1.定义消息类型和协议类 我们将全局系统通知分为两类: (1)第一…
像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用GGTalk的朋友都建议我加上一个类似的功能,今天,GGTalk 5.1终于实现了这一功能,并且可以通过Web后台发送全局系统通知.下面,我们将一步步讲述这一功能是如何实现的(通过类似同样的步骤,大家可以为GGTalk添加任意的自己需要的功能). 1.定义消息类型和协议类 我们将全局系统通知分为两类: (1)第一种通知,是发给所有用户的…
因为公司要做人际银行的一个项目需要openfire(服务器)+asmack(客户端),所以需要对消息的推送及消息发送知识的积累.所以需要研究xmpp,以前不是很了解这个技术,现在需要学习.首先就得部署服务器openfire,在博客中下载好openfire3.8.2的源码,然后放到eclipse4.2中部署,发现报了很多错.自己也在网上查了但是发现网上很多处理方式大同小异,但是都不适用我这次的3.8.2 一般网上说的都是部署3.7.1的我按照上面的来调试错误发现还是有问题.一次次怀疑,怀疑java…