前段时间看到园子里有朋友开发了QQ高仿版的程序,我也非常有兴趣,以前一直有个做即时聊天程序的梦,趁这段时间工作不是很忙,就开始动手来做这个事情。根据我以往积累下来的项目经验,实现QQ的基本功能,问题应该不大。当然,我的目标并不是做一个QQ高仿版的玩具,而是希望做成一个能能够真正使用的产品(当然是免费的),并持续维护下去。想为这个聊天工具取个名字,就抽取了“叽叽歪歪”中的“叽叽”(GG)作为暂时的名称吧。

一.GG的功能规划

我想分成几个阶段来开发GG,每个阶段一个版本,从简单到复杂,从玩具到产品。大体规划如下:

1.GG V1.0

(1)登录、好友列表。

(2)文字聊天、字体设置、表情、窗口震动、截图、手写板

(3)文件传送、文件夹传送

2.GG V2.0

(1)语音视频聊天

(2)网盘

(3)远程磁盘

目前,V2.0版本已经发布,语音视频聊天、网盘、远程磁盘等功能已经实现。

3.GG V3.0

(1)GG群

(2)远程协助

(3)视频会议

4.GG V4.0

(1)聊天记录

(2)离线消息

(3)离线文件

(4)增加持久化支持

5.GG V5.0 & more...

二.框架选型

如果要完全从头开发GG,其难度可想而知,所以,利用现有的成熟框架是必要的,我们必须站在别人的肩膀上,才能做得更快更好。GG V1.0 所采用的框架和素材如下:

(1)通信框架:ESFramework

(2)语音视频:OMCS

(3)皮肤框架:SkinForm

(4)截屏类库:ImageCapturerLib

(5)图片素材:90%以上来自QQ。

ESFramework和OMCS都是园子里zhuweisky的作品,已经相当成熟,不多说。SkinForm是我从网上找的一套类似QQ界面的皮肤框架(没有专门的项目网址),有些小bug,能将就用。ImageCapturerLib也是网上找的,并有源码,我把发现的一个bug已经修复了。由于是高仿QQ,所以,GG中用到的绝大多数图片都是从QQ里面拿过来的(商用也许会有版权问题)。

三.GG V1.0 功能展现

GG整个解决方案分为三个项目:服务端GG.Server(直接将ESFramework的demo的服务端搬了过来)、客户端GG、定义消息类型和协议的GG.Core。

至于GG V1.0是如何实现的,内部并不是很难(最困难的事情都让上述框架给做了),大家可以下载源码自己研究,我就不多费口舌了。下面就截几张运行时的图片吧,跟QQ是不是非常像了?

1.登录框

2.主窗体

3.聊天窗口

四.源码下载

  下载最新版本,请转到这里。

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

GG最新进展总览链接:可在广域网部署运行的QQ高仿版 -- GG2013总览

大家有什么问题和建议,可以留言,也可以发送email到我邮箱:ggim2013@163.com。

如果有人有兴趣来参与GG后续版本的开发,那就更好了,尽管email给我。

如果你觉得还不错,请粉我,顺便再顶一下啊,呵呵

转自:http://www.cnblogs.com/justnow/p/3243187.html

转载于:https://www.cnblogs.com/oneLight/p/3758450.html

【转】可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)相关推荐

  1. 可在广域网部署运行的QQ高仿版 -- GG叽叽V1.8(源码)

    距离的GG 1.0发布已经三周了,这三周内,我利用业余时间为GG增加了视频聊天的功能.个人觉得进展有些缓慢,主要是因为大多数时间都花在了UI上.由于本人不会PS,所以图片素材都是从网上一个一个搜下来的 ...

  2. 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.0,增加网盘和远程磁盘功能(源码)...

    尽力2~3周发布一个版本,我这次也没有失言.这段时间内,我仿照QQ的微云功能,在GG中增加了网盘的功能,而且,我还自创了一个QQ没有的新的功能:远程磁盘.正如远程桌面一样,远程磁盘允许我们像访问本地磁 ...

  3. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)

    (前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...

  4. 可在广域网部署运行的QQ高仿版 -- GG叽叽(开源)

    以前一直有要做个像QQ这样的即时聊天程序的想法,趁这段时间工作不是很忙,就开始动手来做这个事情.根据我以往积累下来的项目经验,实现QQ的基本功能,问题应该不大.当然,我的目标并不是做一个QQ高仿版的玩 ...

  5. 可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)

    前段时间看到园子里有朋友开发了QQ高仿版的程序,我也非常有兴趣,以前一直有个做即时聊天程序的梦,趁这段时间工作不是很忙,就开始动手来做这个事情.根据我以往积累下来的项目经验,实现QQ的基本功能,问题应 ...

  6. 如何做到在虚拟数据库和真实数据库之间自由切换?【低调赠送:QQ高仿版GG 4.4 最新源码】...

    记得以前在公司上班时,有时候白天的活没干完,我就会把工作带回家晚上加班继续做.但是,我们开发用的数据库是部署在公司局网内部的一台服务器上的,在家里是肯定连不上这台机器的.在家里没有数据库,服务端就跑不 ...

  7. thinkPHP仿QQ飞车手游模拟抽奖源码

    介绍: thinkPHP仿QQ飞车手游模拟抽奖源码,用途很简单,就是看看你投入多少钱能抽到. 使用方法: 下载源码,上传解压到你的服务器或者主机里面. 由于本程序是thinkPHP开发的,所以需要配置 ...

  8. 恋爱小助手微信QQ双端小程序源码/可添加流量主,无需域名无需服务器

    源码介绍 恋爱小助手微信QQ双端小程序源码,无需服务器和域名,可添加流量主,搭建教程都打包在文件里面了. 源码特点: 1.支持任意漫画头像生成功能,后端自定义字体,颜色,大小,角度,位置,二维码水印等 ...

  9. 妖妖灵V1.0 QQ信誉分查询站源码下载

    正文: 妖妖灵V1.0 QQ信誉分查询站源码下载,程序支持小白式安装,把程序上传到主机或者服务器的根目录即可. 设置好伪静态[thinkphp]和运行目录[Public]之后,访问IP或者站点域名即可 ...

最新文章

  1. 跌宕中,特斯拉拿下上海工厂,给蔚来们留下不到两年窗口期
  2. 什么是高层主管支持系统?
  3. ajax post forbidden,POST方法总是返回403 Forbidden
  4. 一个程序猿如何自学双截棍,避免各种编程职业病的发生?
  5. 一、【用django2.0来开发】 环境部署和初始化项目
  6. thunderbrid设置中文
  7. [CareerCup][Google Interview] Find kth number in a BST
  8. Shell脚本中的并发(转)
  9. html一行文字布局,HTML页面文字布局与文字效果
  10. 好淘客饿了么返利系统-外卖返利优惠券系统-支持美团、饿了么的外卖和商超/电影票 支持多级代理返利
  11. 计算机一级二级三级缓存,CPU一级缓存,二级缓存和三级缓存是什么意思? CPU缓存有什么用?...
  12. Vue单页面应用性能优化实践
  13. 石家庄推进智慧城市建设 数字校园将覆盖所有学校
  14. 欧阳娜娜玩起“创可贴”,这次造型可以跟周冬雨相提并论了
  15. The word 'classpath' is not correctly spelled解决方法
  16. ArcGIS栅格裁剪
  17. uni-app获取设备的唯一标识
  18. 印象笔记粘贴HTML,【未解决】Mac中从印象笔记中拷贝图片后去VSCode中用Paste Image无法粘贴图片:There is not a image in clipboard...
  19. RedHatEnterpriseLinux [RHEL]7.0——操作系统下载地址
  20. 患者到医院看病事件模拟

热门文章

  1. 手把手教你,Stanford Drone 数据集的正确打开方式
  2. OpenStack-Pike版Ironic安装指导分析-(上)
  3. python 图像清晰度_图像清晰度评价指标(Python)
  4. STM32F0xx_PWR低功耗配置详细过程
  5. GPS标准历书Yuma,Rinex,TLE,SEM是什么意思?
  6. 触摸屏驱动和按键驱动冲突-----解决方法
  7. dropout法中为什么要除以keep_prob?
  8. XML DTD Schema 学习-Schema 介绍
  9. 436分复试被刷!山东大学软件学院
  10. JavaScript定时器倒计时60S的使用