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

一.GG的功能规划

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

1.GG V1.0

(1)登录、好友列表。

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

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

2.GG V2.0

(1)语音视频聊天

(2)网盘

(3)远程磁盘

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 V1.0 ×××

GG V1.0 源码

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

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

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

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

转载于:https://blog.51cto.com/gg2013/1313863

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. QQ揭秘:如何实现托盘闪动消息提醒?【低调赠送:QQ高仿版GG 4.1 最新源码】

    转载自:https://www.cnblogs.com/justnow/p/4195142.html 当QQ收到好友的消息时,托盘的图标会变成好友的头像,并闪动起来,点击托盘,就会弹出与好友的聊天框, ...

  8. 可以部署在广域网执行QQ高仿版 GG2014 (源代码)

      距上次GG V3.7版本号(可在广域网部署执行的QQ高仿版 -- GG叽叽V3.7.优化视频聊天.控制很多其它相关细节)的公布.已经有50天了,这50天对于GG来说.是一个重大的飞跃. 由于这段时 ...

  9. java怎么安装manven_Canal——Canal-Adapter源码在IDEA部署运行

    一.下载源码 我这里用的是canal-1.1.4版本 源码结构 client-adapter项目就是本次要部署运行的 源码导入到IDEA中的结构如下: 二.安装配置 找到manven模块中有root的 ...

最新文章

  1. 第三周项目四-穷举法解决组合问题
  2. 关于VS AddIn的注册
  3. 五十三、Java的记录日志Log4j框架的使用
  4. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
  5. [开源]FreeSCADA的通道数据与控件属性关联以及自动刷新机制研究
  6. SQL 中 PROCEDURE,TRIGGER,FUNCTION简单应用
  7. antd 表格树如何展开_如何分析工作,找出规律,使用excel大幅度提高工作效率...
  8. 利用深度学习从单个损伤和斑点中识别植物病害
  9. 一张图概括淘宝直播背后的前端技术 | 赠送多媒体前端手册
  10. 老电脑xp系统最流畅的浏览器_1步打造极限精简的win10系统,让老电脑像新机般流畅,再也不卡了...
  11. Error: Packagesfrx7 and VCLDB all Contains DBGrids
  12. Alibaba Cloud Linux 搭建Frp内网穿透服务(兼容Centos)
  13. HCIA-Big Data华为认证大数据工程师 习题册 含答案
  14. 天津发票版本文件服务器端口,天津增值税发票综合服务平台入口
  15. 中文自然语言处理语言资源项目(ChineseNLPcorpus)
  16. 【经验帖】深度学习如何训练出好的模型
  17. 利用window.location实现下载文档
  18. 收藏!2023年全年考证时间表!
  19. 解决不安装VC运行库(VC2005,VC2008),程序运行出错的方法。
  20. 九龙证券|整合大年 钢企迎来盈亏平衡新周期

热门文章

  1. 一次gitlab无法使用ssh登录的问题解决
  2. mysql 二进制日志
  3. gridView 多余字符显示省略号...
  4. 最近学了个elarning,结尾非要让写问卷,写了一下,发出来共勉
  5. 减少企业Web威胁的三条预防性措施
  6. 支持者基于BCH提出众多新概念,推动BCH创新
  7. 半可信混合技术:BCH混币工具CashShuffle引入STAT
  8. TensorFlow中设置学习率的方式
  9. spring boot mysql和mybatis
  10. 简析正则表达式的使用