• Linux开源IM GGTalk 8.0发布,支持在统信UOS、银河麒麟上运行!


        GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端。这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS、国产CPU、国产数据库。在接单的时候,也有客户要求GGTalk能支持国产Linux系统。于是,就逐渐有了要为GGTalk增加Linux端的想法。

            经过一年多的开发(断断续续地),GGTalk Linux端的功能基本完整了,现在放出来跟大家分享。至此GGTalk 8.0 支持的客户端已经包括:Windows、Android、iOS、Linux、国产OS。

    一. V8.0版本变更

         相比于7.0,这次版本变更的主要内容如下:

    (1)增加Linux客户端,支持国产操作系统(如统信UOS、银河麒麟、中标麒麟、深度等)、国产CPU(如龙芯、鲲鹏、飞腾、麒麟、兆芯等)。

    (2)增加Linux服务端,支持在CentOS上部署运行服务端。

    (3)增加支持同一账号在多个设备上(Windows、Linux、Android、iOS)同时登录,消息自动在多端间同步。

    (4)手机端功能更完整,几乎达到PC端功能的90%。

    (5)支持高清视频聊天(1920*1080分辨率)。

      废话不多说,先上张GGTalk  8.0在银河麒麟系统上运行的截图:   

    再来张GGTalk  8.0 手机端截图:

    二. GGTalk 8.0 所需的开发、部署、运行环境

      总的说来,GGTalk 8.0的服务端有Windows版本和Linux版本,客户端版本有:Windows、Linux、Android、iOS。

      涉及到的开发语言有:C#、Java、Objective-C

      涉及到的开发环境有:Visual Studio、Android Studio、XCode。

      眼尖的同学已经发现,我们的Linux服务端和Linux客户端都是基于.NetCore的,用的都是C#。(真是大爱C#,自认为是最优雅的语言。在想后面是不是把手机端也用Xamarin重写了?这样就全部统一为C#了)

      GGTalk 8.0 各个端所需的操作系统版本、运行时、开发环境、开发语言的详细说明如下列表所示:

     GGTalk 8.0对数据库的支持除了SqlServer和MySql外,也是支持国产数据库的,像达梦数据库、南大通用等。

    三. GGTalk 8.0 源码目录说明

      从本文文末下载GGTalk 8.0的源码,可以看到有三个压缩包:

    (1)GGTalk_V8.0.rar :这个压缩包中主要是一个VS的解决方案,下面有GGTalk 8.0的Windows和Linux版本的服务端,以及Windows和Linux版本的客户端。

    (2)GGTalk_V8.0_Android.rar :这个压缩包里面是GGTalk 8.0的安卓端源码。

    (3)GGTalk_V8.0_iOS.zip:这个压缩包里面是GGTalk 8.0的iOS端源码。

    (4)GGTalk_V8.0_Deploy.rar :可直接部署的GGTalk 8.0 版本,包括服务端、客户端、手机端的可以执行包。

        GGTalk的VS的解决方案下的项目比较多,这里简单说明一下,如下图所示:

        NetCore目录下的放的都是与Linux版本相关的项目。我们重点关注红框标记出的四个项目:

     GGTalk:是GGTalk 8.0的Windows客户端。

     GGTalk.Server :是GGTalk 8.0的Windows服务端。      

     GGTalk.Linux:是GGTalk 8.0的Linux客户端。

     GGTalk.Server.NetCore :是GGTalk 8.0的Linux服务端。

        数据库脚本:在该文件夹中,有GGTalk 8.0的SqlServer数据库的脚本和MySql数据库的脚本。

    四. GGTalk  8.0 数据库表说明

    (1)GGUser :用户表,所有注册用户都保存在该表中。

    (2)GGGroup :群组表,所有创建的群都保存在该表中。

    (3)OfflineMessage :离线消息表,当目标用户不在线时,发送给他的消息存在该表中。

    (4)OfflineFileItem :离线文件表,当目标用户不在线时,发送给他的文件对应的记录存在该表中。

    (5)GroupBan :群禁言表,当群中的用户被禁言时,对应的记录将存在该表中。

    (6)ChatMessageRecord :聊天记录表,一对一的聊天记录、群聊天记录都存在该表中。

    (7)AddFriendRequest :加好友请求表,所有添加好友的请求消息都存在该表中。

    (8)AddGroupRequest :入群请求表,所有申请入群的请求消息都存在该表中。

    (9)GGConfiguration  : 配置表,用于预留存储与GGTalk相关的配置信息。

    五. GGTalk 8.0 部署说明 

      下面我们说明一下如何部署GGTalk_V8.0_Deploy.rar压缩包中的可直接运行的各个端。   

    (1)服务端默认配置是使用内存虚拟数据库,不需要真实数据库,这样方便测试。

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

    (3)Linux 服务端:将GGTalk.Server.Linux文件夹拷贝到CentOS服务器上,进入该文件夹,打开终端,执行命令:dotnet GGTalk.Server.NetCore.dll。

        注:GGTalk Windows服务端或Linux服务端只要启动一个就可以的,所有类型客户端都可以连到这个启动的服务端。

    (4)Windows 客户端:修改GGTalk目录下的客户端配置文件GGTalk.exe.config中ServerIP配置项的值为服务器的IP,双击GGTalk.exe运行客户端,注册帐号登录试用。。

    (5)Linux  客户端:将GGTalk.Linux文件夹拷贝到国产Linux系统(Ubuntu也可以)上,进入该文件夹,打开终端,执行命令:dotnet GGTalk.Linux.dll。

             注:如果Linux电脑的CPU不是x86/x64架构的,则需要使用对应架构的libe_sqlite3.so、libSkiaSharp.so来替换运行目录下的同名文件。可联系我获取其它架构的so库。

    (6)手机端:将对应的apk或ipa包在手机上安装,启动后,在登录界面设置服务器的IP地址,即可登录。

    (7)内存虚拟数据库内置了测试帐号: 10000,10001,10002,10003,10004,一直到10009;密码都是 1。 

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

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

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

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

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

          (2)修改 DBType 为 SqlServer 或 MySQL。

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

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

      后续其它的步骤就与虚拟数据库是一样的了。  

    六. GGTalk 8.0 源码下载

    (1)Windows 服务端、客户端 + Linux  服务端、客户端:GGTalk_V8.0.rar(提取码: 1234)

    (2)Android 端:GGTalk_V8.0_Android.rar (提取码: 1234)

    (3)iOS 端:GGTalk_V8.0_iOS.zip (提取码: 1234)

    (4)可直接部署运行:GGTalk_V8.0_Deploy.rar (提取码: 1234)

       如果你觉得还不错,请点赞支持啊!谢谢。

  • 相关阅读:
    LM07丨细聊期货横截面策略
    软件需求工程R 第十一、十二、十三章
    当添加一个键值对元素时,HashMap发生了什么?
    常见中间件漏洞复现之【Tomcat】!
    c语言通信之串口通信
    Java 定时任务--Quartz框架
    可自定义评教系统(教学质量评估系统)设计与实现(SSM)毕业论文+设计源码+mysql文件
    Learning Invariant Representation for Unsupervised Image Restoration
    第十九章 Kali Linux桌面概览
    11.3 - 三级模式/两级映像 11.4 - 数据库管理系统 11.5 - 完整性约束 11.6 - 分布式数据库 11.7 - DBA
  • 原文地址:https://blog.csdn.net/zhuweisky/article/details/126918363