精华内容
下载资源
问答
  • GGTalk ——C#开源即时通讯系统 下载中心    GGTalk(简称GG)是可在广域网部署运行的QQ高仿版,2013.8.7发布GG V1.0版本,至今最新是5.5版本,关于GG更详细的介绍,可以查看 可在广域网部署运行的QQ高仿...

    http://www.cnblogs.com/justnow/

     

    GGTalk ——C#开源即时通讯系统

    下载中心

     

           GGTalk(简称GG)是可在广域网部署运行的QQ高仿版,2013.8.7发布GG V1.0版本,至今最新是5.5版本,关于GG更详细的介绍,可以查看 可在广域网部署运行的QQ高仿版 -- GGTalk总览。

           GGMeeting是可在广域网部署运行的视频会议系统Demo,2015.05.11发布V1.0版本,关于GGMeeting更详细的介绍,可以查看 打造自己的视频会议系统 GGMeeting

    1.GGTalk服务端和PC端源码   

        源码下载:GGTalk-V5.5.rar     网盘下载更快

      部署下载:GGTalk V5.5 可直接部署版本    网盘下载更快

        (压缩包中有 《部署说明.txt》 和 创建数据库的脚本SqlServer.sql 、MySQL.sql)

        部署说明:

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

        2.将GGTalk.Server文件夹拷贝到服务器上,运行GGTalk.Server.exe。

        3.修改客户端配置文件GGTalk.exe.config中ServerIP配置项的值为服务器的IP。

        4.运行客户端,注册帐号登录试用。

        5.内置测试帐号为 10000,10001,10002,10003,10004;密码都是 1。 

        6.若要测试android移动端,请先修改安卓源码中服务器的IP和端口,然后重新编译生成apk。 

        如果需要使用真实的物理数据库,则需按下列步骤进行:

      1. 在SqlServer 2000/2005/2008 中新建数据库GGTalk,然后在该库中执行 SqlServer.sql 文件中的脚本以创建所需表。

           (如果要使用MySQL数据库,则使用MySQL.sql脚本)

        2. 打开服务端的配置文件GGTalk.Server.exe.config

          (1)修改 UseVirtualDB 配置项的值为false。

          (2)修改 DBType 为 SqlServer 或 MySQL。

          (3)修改 DBIP 配置项的值为数据库的IP地址。

          (4)修改 SaPwd 配置项的值为数据库管理员sa的密码。

        3.修改客户端配置文件GGTalk.exe.config中ServerIP配置项的值为服务器的IP。

        4.运行客户端,注册帐号登录试用。

     

    2.GG安卓版源码          

           最后更新:2016.11.25

           源码下载:GG-android.rar     网盘下载更快  (若要和PC端联合测试,请关闭PC端那边的聊天消息加密功能:将PC客户端项目的GlobalResourceManager类的 des3Encryption 成员赋值为 null 即可!)        

           说明:本安卓demo属于入门级水平,目的是为了展示与PC打通的基本实现。若要将GG安卓版本的源码用于正式项目中,建议先对其进行重构,或者敬请等候后续更完善的版本分享给大家! 

     

    3.GGMeeting 源码

       GGMeeting的当前版本为2.0,大家可以下载源码研究下。

           GGMeeting-V2.0 源码

           GGMeeting-V2.0 可直接部署版本

     

    ————————————————————————————————————————————

    联系方式:

    QQ:2027224508 

    邮箱:2027224508@qq.com

     

    如果大家有类似视频会议系统、在线培训系统、IM系统需要定制开发的,可以联系我们哦:) 

     

    虽然就如何将GG发展为一个有商业价值的产品,我还没有很清晰明确的思路,但是从GG发布以来,通过GG认识了一些朋友,也接了一些小单子,赚了一点小钱。有了一点甜头,目前和2、3个好朋友一起做做小项目也是不错的。

    大家有什么问题和建议,都可以联系我,留言、加QQ、发邮件都可以。

    欢迎大家与我探讨关于GG的一切!

     

    展开全文
  •  XEIM 飞鸽传书是一款C/S模式的即时通讯系统,适合企业使用。 企业员工可在企业内部或外部通过 XEIM 进行通讯,支持消息发送,文件传输,语音对话等。 统一的用户管理,通讯记录保存在服务器,查

      之前第一发布的 XEIM 飞鸽传书开源公告得到了不少人的关注,因此得到了许多 C++ 爱好者的加入,所以我们继续努力,在原来代码的基础上进行优化改进,稳定性与安全性得到了提高,同时增加了几个功能。

      XEIM 飞鸽传书是一款C/S模式的即时通讯系统,适合企业使用。 企业员工可在企业内部或外部通过 XEIM 进行通讯,支持消息发送,文件传输,语音对话等。 统一的用户管理,通讯记录保存在服务器,查询方便。 为企业提供安全,稳定的即时通讯解决方案。

      我写代码喜欢简洁,说话也不喜欢罗嗦,说正经事吧,开发语言采用 C++,开发工具采用 Visual C++ 8.0,需要 Windows 2003 SDK 支持,更多开发细节问题可到论坛讨论。

      为什么开源?为了让 XEIM 飞鸽传书更好地适应各种组织、企业的不同需求,让用户自定义最贴身的企业即时通讯软件。同时,开发者可以把自己二次开发成果再次共享给大家,这样就有更强大的 XEIM 飞鸽传书让更多的人使用。我们也从此步入了开源事业。

      我们遵循 GPL 开源协议,首先声明,任何违反本协议的开发者,我们将以最大的可能对其法律责任进行追究。软件公司必须发布的源代码包括其使用程序的全部或一部分,或本程序的全部或部分所衍生的程序代码。如果公司添加了其它程序,比如不是从GPL许可代码中衍生的前端程序,公司可以不发布这一程序的代码。

    展开全文
  •  XEIM 是一款C/S模式的即时通讯系统,适合企业使用。 企业员工可在企业内部或外部通过 XEIM 进行通讯,支持消息发送,文件传输,语音对话等。 统一的用户管理,通讯记录保存在服务器,查询方便。 为企业提供安全,...

      XEIM 是一款C/S模式的即时通讯系统,适合企业使用。 企业员工可在企业内部或外部通过 XEIM 进行通讯,支持消息发送,文件传输,语音对话等。 统一的用户管理,通讯记录保存在服务器,查询方便。 为企业提供安全,稳定的即时通讯解决方案。
      开发语言采用 C++,开发工具采用 Visual C++ 6.0,需要 Windows 2003 SDK 支持,更多开发细节问题可到论坛讨论。
      论坛:http://bbs.freeeim.com/

     

     

    服务端界面预览

    XEIM 飞鸽传书服务端

     

     

    客户端界面预览

    XEIM 飞鸽传书客户端

    转载于:https://my.oschina.net/freeeim/blog/673

    展开全文
  • 即时通讯系统(IM)中,加密重要的通信消息,是一个常见的需求。尤其在一些政府部门的即时通信软件中(如税务系统),对即时聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据。我在最新的...

      在即时通讯系统(IM)中,加密重要的通信消息,是一个常见的需求。尤其在一些政府部门的即时通信软件中(如税务系统),对即时聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据。我在最新的GG 4.5中,增加了对即时聊天消息进行加密的功能,但这一功能并不是强制的,可以通过开关来进行控制。本文就从 为什么要加密消息、不加密有什么风险开始说起,一直到把GG即时通信系统中实现加密消息的完整实现介绍清楚。

           想要直接下载体验的朋友请点击:下载中心

    一.为什么要加密即时聊天消息?

      我们知道所有的消息在底层是以bytep[]进行传输的,如果文字聊天消息不加密,表示的意思是:直接将string使用utf-8或者unicode编码成byte[],然后,通过网络进行传送。如果在传送过程中的某个环节byte[]被恶意截取,则拦截者将byte[]使用utf-8或unicode进行解码,即可看到原来string的内容。这个过程如下图所示:

      

      对于某些重要的消息而言,这样明文传输的方式实在是太危险了。

      将聊天消息加密的意思是:将string使用utf-8或unicode编码成byte[]后,再做一次加密运算,得到一个新的byte[],然后将这个新的byte[]通过网络发送给对方;对方接收到byte[]后,先将其做解密运算,然后再用utf-8或unicode转为string。这个新过程如下图所示:

        

      这样,即使在网络传送过程中的某个环节byte[]被恶意截取了,拦截者也无法正确的解析它,如此就规避了原来方案的风险。

    二.3DES加密

          3DES(或称为Triple DES)是非常常用的对称加密算法,是对DES算法的增强,它相当于是对每个数据块应用三次DES加密算法。

          在GG即时通信系统 4.5的客户端源码中,Des3Encryption类是实现3DES算法的类,我是根据3DES的算法原理实现的,可能与某些标准的3DES算法实现细节不一样,但是,使用其进行3DES加密、解密是完全能正常运作的。

       可以将Des3Encryption类作为一个工具类,从GG即时通信系统中抽离出来,复用在任何需要的地方。

    三.加密/解密即时聊天消息

         现在我们正式回到GG即时通信系统的文字聊天逻辑上面来,看看GG是怎么实现聊天消息的加密解密的。    

    1.准备工作

      GG2014客户端项目中,增加了Des3Encryption.cs文件,实现了3DES算法。

      GlobalResourceManager类增加了加密组件的设置:

        private static Des3Encryption des3Encryption = new Des3Encryption("abcd1234"); // null;        
        /// <summary>
        /// 3DES加密。如果消息不需要加密,则返回null。
        /// </summary>
        public static Des3Encryption Des3Encryption
        {
            get { return des3Encryption; }
        } 

         这里有一个开关的功能,即可以开启或关闭聊天消息加密功能。如果将des3Encryption设置为null,就表示不启用聊天消息加密。

    2.发送聊天消息

      在GG即时通信系统中,聊天消息有两类,一类是1对1的聊天,另一类是群聊天。如果启用了加密,两类聊天消息都需要做相应的处理,它们的流程是一样的。

          在得到聊天内容后,先进行简单的序列化,然后对序列化的结果进行3DES加密:(以1对1聊天的ChatForm窗口中的实现为例,源码的第866行)

        ChatBoxContent content = this.chatBoxSend.GetContent();  byte[] buff = CompactPropertySerializer.Default.Serialize(content);
        byte[] encrypted = buff;
        if (GlobalResourceManager.Des3Encryption != null)
        {
            encrypted = GlobalResourceManager.Des3Encryption.Encrypt(buff);
        }

      然后,将加密的结果通过IRapidPassiveEngine发送出去。

    3.处理接收到的聊天消息

         接收到1对1的聊天消息或是群聊天消息后,首先要做的是解密,然后再反序列化:(以1对1聊天消息的实现为例,MainFormPartial.cs文件中的源码的第37行)

        byte[] decrypted = info;
        if (GlobalResourceManager.Des3Encryption != null)
        {
            decrypted = GlobalResourceManager.Des3Encryption.Decrypt(info);
        }
        ChatBoxContent content = CompactPropertySerializer.Default.Deserialize<ChatBoxContent>(decrypted, 0);

          之后,ChatBoxContent对象就可以在聊天窗中显示出来了。

    4.处理离线消息

          离线消息是当接收者不再时,将该聊天消息暂存在服务器上,等接收者上线时,再发送给他。所以,离线消息的解密处理与普通聊天消息的处理是一样的。(MainFormPartial.cs文件中的源码的第86行)

        if (informationType == InformationTypes.OfflineMessage)
        {
            byte[] bChatBoxContent = null;
            OfflineMessage msg = CompactPropertySerializer.Default.Deserialize<OfflineMessage>(info, 0);
            if (msg.InformationType == InformationTypes.Chat) //目前只处理离线的聊天消息
            {
                sourceUserID = msg.SourceUserID;
                bChatBoxContent = msg.Information;
                byte[] decrypted = bChatBoxContent;
                if (GlobalResourceManager.Des3Encryption != null)
                {
                    decrypted = GlobalResourceManager.Des3Encryption.Decrypt(bChatBoxContent);
                }                                  
                ChatBoxContent content = CompactPropertySerializer.Default.Deserialize<ChatBoxContent>(decrypted, 0);           
            }
        }

    四.聊天记录要怎么处理了?   

          根据上面的流程描述,我们可以知道,在服务端看到的聊天消息是经过加密的,而GG在服务端有将聊天记录存储到数据库中的功能,因此,数据库中聊天内容那一列存储的数据也是加密的。

      在GG即时通信系统中,服务端不需要查看聊天消息的真正内容,所以,服务端不需要使用到Des3Encryption类。

          GG在客户端本地也有存储聊天记录(使用Sqlite),与服务器上数据库中存储的不一样的是,本地存储的是明文的。所以,在查看聊天记录时,要根据用户选择的是从本地查看还是从服务器查看来决定是否需要对数据进行解密:(对应ChatRecordForm窗体,源码177行)

        byte[] decrypted = record.Content;
        if (this.skinRadioButton_Server.Checked)
        {
            if (GlobalResourceManager.Des3Encryption != null)
            {
                decrypted = GlobalResourceManager.Des3Encryption.Decrypt(decrypted);
            }
        }
        ChatBoxContent content = CompactPropertySerializer.Default.Deserialize<ChatBoxContent>(decrypted, 0);

    五.源码下载

           GGTalk即时通信系统是可在广域网部署运行的C#开源即时通信系统,2013.8.7发布V1.0版本,至今最新是4.5版本,关于GG更详细的介绍,可以查看 可在广域网部署运行的QQ高仿版 -- GG2014总览

    1.GG服务端和PC端源码   

          源码下载:GG-V4.5.rar     网盘下载更快

       部署下载:GG V4.5 可直接部署版本    网盘下载更快

        (压缩包中有 《部署说明.txt》 和 创建数据库的脚本 《GG2014.sql》)

    2.GG安卓版源码

          自从GG4.4版本开始,GG增加了安卓版本,其运行界面截图如下所示:

                 

          

          源码下载:GG-android.rar     网盘下载更快   

          若要测试,请先部署服务端,然后修改安卓源码中MainActivity中的服务器的IP和端口(如下图所示),并重新编译生成apk。

     

         (若要和PC端联合测试,请关闭PC端那边的聊天消息加密功能:将PC客户端项目的GlobalResourceManager类的 des3Encryption 成员赋值为 null 即可!)

    注:GG安卓版的源码质量不是很高,属于安卓初学者水平,很多地方有待改进,目前只是展示与PC打通的功能如何实现。若要将GG安卓版本的源码用于正式项目中,建议先对其进行重构。

     

    转载于:https://www.cnblogs.com/justnow/p/5139403.html

    展开全文
  • 佳蓝即时通讯系统开源版是一个基于websocket、php和mysql的全功能即时通讯系统。 目前已完成电脑版基础功能,包括:查找添加好友、创建群组,私聊,群聊。 测试账号:佳蓝测试专用
  • 开源即时通讯(IM)系统 高仿微信

    万次阅读 多人点赞 2019-05-31 17:15:56
    简介:全开源即时通讯(IM)系统 高仿微信 更多:作者提 Bug官网 标签: 野火 IM 是一套跨平台、全开源的即时通讯解决方案,主要包含以下内容。 仓库 说明 备注 android-chat 野火 IM Android SDK ...
  • 开源即时通讯(IM)系统 高仿微信
  • 佳蓝即时通讯系统开源版是一个基于websocket、php和mysql的全功能即时通讯系统。 目前已完成电脑版基础功能,包括:查找添加好友、创建群组,私聊,群聊。 测试账号:佳蓝测试专用 测试密码:123456
  • 这个软件是没得说的,支持开源,崇拜开源工作者,谁都知道开源即时通讯软件(Instant messaging,简称IM),目前比较普遍的即时通讯都具备这些基本功能,允许两人或多人通过互联网即时地相互发送文字消息、文件、...
  • 开源即时通讯(IM)系统-仿微信

    千次阅读 2020-06-08 20:25:32
    E聊SDK是一套适用于PC端, 移动端的即时通讯解决方案,源代码开放。E聊整合了即时通讯的基础能力,使用E聊,您可以让您的应用快速接入即时聊天的功能。E聊现已适配PC Web, 移动Web, Android, iOS 等平台。 3.系统架构...
  • 开源IM,即时通讯软件的开山鼻祖,掌控全部即时通讯源代码,想怎么改就怎么改,不受制于人 布署时一次性开支再无费用,用户再多也无软件费 可控性高,服务稳定 即时消息/单聊 支持文字、图片、表情、语音、视频、...
  • 开源即时通讯软件

    千次阅读 2013-05-02 21:56:49
    开源即时通讯软件   Powertalkbox http://baike.baidu.com/view/2881610.htm 免费开源的asp.net,即时通讯控件与大家分享 这是一款免费开源的控件,作者的初衷是为了让来到网站上的人流资源更好的被把握住. ...
  • XEIM 即时通讯系统

    2009-08-25 10:49:46
    基于C/S模式的开源即时通讯系统,支持消息发送,文件传输,语音对话,支持二次开发。
  • Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区 Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区 Oschat IM 开源即时通讯项目介绍 255人收藏此文章, 我要收藏 发表...
  • 开源 即时通讯

    千次阅读 2010-12-14 11:51:00
    每一天 我们都在接触网络 每一秒 我们都需要与人交流   即时通讯工具的存在 方便了太多人的信息交换与使用 但是市场上的通讯工具一天天的增加 当然最具代表性的自然是全国最大的...
  • 开源 即时通讯

    2010-12-14 11:45:44
    每一天 我们都在接触网络每一秒 我们都需要与人交流即时通讯工具的存在 方便了太多人的信息交换与使用但是市场上的通讯工具一天天的增加当然最具代表性的自然是全国最大的IMQQ了除了QQ之外 国人的IM之战 真的算是...
  • 开篇电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天等。今天,就来给大家分享一个开源即时通讯系统。如对文章不感兴趣可直接跳至文章末尾,有获取源码链接的方法。但文章内容是需要你简单...
  • XEIM 开源即时通讯软件团队是目前国内较活跃的开源团队之一,我们致力于即时通讯基础平台的开发以及知识推广,目前已经有数个成熟的基础产品问世,并与国内数家网站、出版社建立了知识推广的合作关系。目前团队处于...
  • 基于PHP开发的仿pc端网页微信的即时通讯开源系统 ,一款php免费开源即时通讯系统
  • 为大家推荐几个即时通讯开源项目。 推荐项目0 DuckChat是一款安全的私有聊天软件,基于PHP环境,可运行在Docker、Linux、Windows、MacOS等各种平台上,它帮助我们简化企业办公、客服系统、互联网创业,提供了...
  • 开篇电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天等。今天,就来给大家分享一个开源即时通讯系统。如对文章不感兴趣可直接跳至文章末尾,有获取源码链接的方法。但文章内容是需要你简单...
  • 开源webim即时通讯源码

    热门讨论 2013-12-12 14:27:32
    聚友中国即时通讯软件 使用它,可以为用户构建一个以好友关系为核心的即时交流网络,也可以把它作为web客服软件来使用。  PC端+WEB端+android端+ios端+平板端+云端多平台互通、方便集成各类应用。
  • 原文:NanShan开源即时通讯团队讨论程序员空闲期可以做的事
  • 1)较重要的文件: openfire官网下载的源码; maven环境配好 数据库也要安装,我的是mysql,最好装一个mysql的可视化工具。 ...第一步:解压压缩包到当前文件夹Openfire;打开终端,输入mvn verify,也可以只pom...
  • 闪电云旗下开发的哇呼IM是一款跨平台,可定制的 P2P 即时通信系统,为各行业门户网站和企事业单位提供“一站式”定制解决方案,打造一个稳定,安全,高效,可扩展的即时通信系统。 亮点:阅后即焚,通讯加密,私有...
  • 今天,就来给大家分享一个开源即时通讯系统。 但文章内容是需要你简单的过一遍的,相信你能get到不少骚操作。 # 项目简介 该项目是一套基于mina或netty框架下的推送系统,或许有一些企业有着自己一套...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,119
精华内容 6,447
关键字:

开源即时通讯系统