zoukankan      html  css  js  c++  java
  • 可以部署在广域网执行QQ高仿版 GG2014 (源代码)

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

    由于这段时间通过一些基于GG的实战项目,发现了GG的非常多bug和不足之处,我都一一做了修正,并添加了一些基础且必须的功能。这次公布的是GG V4.0版本号,又称为GG 2014。

    一.GG 2014 新增功能展现 

    1.聊天记录:支持本地保存和server端保存两种方式。

    2.好友分组:新增/删除分组,改动分组名称,改变好友的所属分组。

    3.托盘闪动:跟QQ全然一样,当接收到消息时。托盘会闪动相应好友的头像。点击头像,将弹出与好友的聊天框。

    4.登录状态:在线、离开、忙碌、勿打搅、隐身。

    当改动自己的状态时,好友能同步看到自己的最新状态。

    5.动态表情:聊天框支持插入GIF图片、动态表情。并播放动画。

    6.输入提醒:像QQ一样,当对方正在输入消息时,我这边的聊天框能够看到对方“正在输入”的提示。

    7.自己主动记录:GG2014会自己主动记录上次打开的主界面的位置、大小;最后一次打开的聊天窗口的大小;最后一次设定的字体的颜色、大小等。

    8.打开聊天窗口时。自己主动显示上次交谈的最后一句话。(能够通过系统设置来关闭该功能)

         废话不多说。还是先上图。

      聊天记录:

      

      好友分组:

      

      正在输入:

      

      系统设置:

      

    二.实现思路

      尽管提供了源代码,可是,我还是想将基本的思路列一下,这样。大家理解起源代码来,会节省很多其它的时间。

    1. 聊天记录的本地存储採用的是Sqlite数据库。服务端存储眼下是在内存中虚拟的数据库。

    2. 从server读取聊天记录,使用的是Remoting技术。

    IRemotingService 接口的GetChatRecordPage方法以及GetGroupChatRecordPage方法。

    3. 好友分组的背后原理:User类的Friends字段,其值是相似这种 --  我的好友:10000,10001,1234;家人:1200,1201;同学:1300,1301

    (1)通过分号区隔不同的分组

    (2)通过冒号区隔分组名称与好友列表。

    (3)通过逗号区隔不同的好友ID。

    (4)另外,User类还有个DefaultFriendCatalog字段,这个用来存储默认分组的名称(初始值为”我的好友“),默认分组的名称能够被改变,可是不能被删除。(这一点也是全然模仿QQ的) 

    4. 托盘闪动的实现主要集中于TwinkleNotifyIcon组件,不管是个人聊天消息还是组聊天消息,首先被push进TwinkleNotifyIcon,使其闪烁,当点击TwinkleNotifyIcon,再把消息提取出来显示。

    5. 输入提醒的背后原理:

    (1)当检測到聊天输入框的内容发生变化时(TextChanged事件),就发送一个InputingNotify类型的消息给对方。并控制两个该消息的最小间隔为5秒。

    (2)对方一旦收到InputingNotify通知。就马上显示”正在输入“的Label。

    (3)假设对方连续10秒都再没收到InputingNotify通知,则将将正在输入的状态改为false。(ChatForm的CheckInptingVisiable方法)

    (4)当对方接收到聊天消息,马上将正在输入的状态改为false,然后,再等待下一个InputingNotify通知。

    6.自己主动记录功能,是使用本地文件来记录窗口的位置信息的,详见SystemSettings类的ChatFormSize、MainFormSize、MainFormLocation、Font等属性。

    7.打开聊天窗口时。显示上次聊天的最后一句话:该功能是利用了User类的Tag字段来存储最后一句话信息。并且好友信息(User类的实例)是会被持久化在本地文件里的。

     

    三.GG V4.2 源代码下载  

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


    部署说明:

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

    2.将GG2014.Server目录复制到server上,执行GG2014.Server.exe。

    3.改动client配置文件GG2014.exe.config中ServerIP配置项的值为server的IP。

    4.执行client,注冊帐号登录试用。

    5.内置測试帐号为 10000,10001,10002。10003。10004。password都是 1。 


  • 相关阅读:
    Java Number & Math 类
    excel小技巧-转置(表的横向纵向倒过来)
    excel小技巧-提取填充
    excel小技巧-分列
    Java switch case语句
    if...else
    12.15个人总结
    12.9个人总结
    11.29个人总结
    11.25日个人总结
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5038829.html
Copyright © 2011-2022 走看看