Linux open source IM GGTalk 8.0 released, supports running on Tongxin UOS and Galaxy Kylin!

    After GGTalk launched 7.0 in 2021, after more than a year of development, it finally launched version 8.0, realizing the Linux client. In recent years, Xinchuang's localization momentum has become more and more fierce, and government agencies and enterprises are gradually turning to domestic OS, domestic CPU, and domestic database. When receiving orders, some customers also asked GGTalk to support domestic Linux systems. As a result, the idea of ​​adding a Linux side to GGTalk gradually came into being.

        After more than a year of development (intermittently), the functions of GGTalk Linux are basically complete, and now it is released to share with you. So far, the clients supported by GGTalk 8.0 include: Windows, Android, iOS, Linux, and domestic OS.

1. V8.0 version changes

     Compared with 7.0, the main content of this version change is as follows:

(1) Add a Linux client to support domestic operating systems (such as Tongxin UOS, Yinhe Kirin, Winning Kirin, Deepin, etc.), and domestic CPUs (such as Loongson, Kunpeng, Phytium, Kirin, Zhaoxin, etc.).

(2) Add the Linux server, and support the deployment and operation of the server on CentOS.

(3) Added support for simultaneous login of the same account on multiple devices (Windows, Linux, Android, iOS), and messages are automatically synchronized between multiple terminals.

(4) The functions of the mobile terminal are more complete, almost reaching 90% of the functions of the PC terminal.

(5) Support HD video chat (1920*1080 resolution).

  Without further ado, here is a screenshot of GGTalk 8.0 running on the Galaxy Kirin system:   

Another screenshot of GGTalk 8.0 mobile terminal:

2. The development, deployment and operating environment required by GGTalk 8.0

  In general, the server of GGTalk 8.0 has Windows version and Linux version, and the client version includes: Windows, Linux, Android, iOS.

  The development languages ​​involved are: C#, Java, Objective-C

  The development environments involved are: Visual Studio, Android Studio, XCode.

  Sharp-eyed students have discovered that our Linux server and Linux client are both based on .NetCore, and both use C#. (I really love C#, I think it is the most elegant language. I wonder if I will rewrite the mobile terminal with Xamarin later? In this way, all of them will be unified into C#)

  The detailed description of the operating system version, runtime, development environment, and development language required by each terminal of GGTalk 8.0 is shown in the following list:

 In addition to SqlServer and MySql, GGTalk 8.0 also supports domestic databases, such as Dameng Database and NTU General.

3. GGTalk 8.0 source directory description

  Download the source code of GGTalk 8.0 from the end of this article, and you can see that there are three compressed packages:

(1) GGTalk_V8.0.rar: This compressed package is mainly a VS solution, below which there are Windows and Linux version servers of GGTalk 8.0, as well as Windows and Linux version clients.

(2) GGTalk_V8.0_Android.rar: This compressed package contains the Android source code of GGTalk 8.0.

(3) GGTalk_V8.0_iOS.zip: This compressed package contains the source code of GGTalk 8.0 for iOS.

(4) GGTalk_V8.0_Deploy.rar: GGTalk version 8.0 that can be deployed directly, including executable packages for server, client, and mobile.

    There are many projects under the VS solution of GGTalk, here is a brief explanation, as shown in the following figure:

    The items under the NetCore directory are all related to the Linux version. We focus on four items marked in red boxes:

 GGTalk: It is the Windows client of GGTalk 8.0.

 GGTalk.Server: It is the Windows server of GGTalk 8.0.      

 GGTalk.Linux: is the Linux client of GGTalk 8.0.

 GGTalk.Server.NetCore: It is the Linux server of GGTalk 8.0.

    Database script: In this folder, there are scripts of SqlServer database and MySql database of GGTalk 8.0.

4. GGTalk 8.0 database table description

(1) GGUser: User table, all registered users are stored in this table.

(2) GGGroup: group table, all created groups are stored in this table.

(3) OfflineMessage: offline message table, when the target user is not online, the messages sent to him are stored in this table.

(4) OfflineFileItem: offline file table, when the target user is not online, the records corresponding to the files sent to him are stored in this table.

(5) GroupBan: group ban table, when a user in the group is banned, the corresponding record will be stored in this table.

(6) ChatMessageRecord: chat record table, one-to-one chat records, group chat records are stored in this table.

(7) AddFriendRequest: Add friend request table, all request messages for adding friends are stored in this table.

(8) AddGroupRequest: group entry request table, all request messages for applying for group entry are stored in this table.

(9) GGConfiguration: configuration table, used to reserve and store configuration information related to GGTalk.

5. GGTalk 8.0 Deployment Instructions 

  Let's explain how to deploy each terminal in the GGTalk_V8.0_Deploy.rar compressed package that can be run directly.   

(1) The default configuration of the server is to use the memory virtual database, which does not require a real database, which is convenient for testing.

(2) Windows server: copy the GGTalk.Server folder to the server, and run GGTalk.Server.exe.

(3) Linux server: copy the GGTalk.Server.Linux folder to the CentOS server, enter the folder, open the terminal, and execute the command: dotnet GGTalk.Server.NetCore.dll.

    Note: GGTalk Windows server or Linux server only needs to be started, and all types of clients can be connected to this started server.

(4) Windows client: Modify the value of the ServerIP configuration item in the client configuration file GGTalk.exe.config under the GGTalk directory to the server IP, double-click GGTalk.exe to run the client, and register an account to log in for trial use. .

(5) Linux client: copy the GGTalk.Linux folder to the domestic Linux system (Ubuntu is also acceptable), enter the folder, open the terminal, and execute the command: dotnet GGTalk.Linux.dll.

         Note: If the CPU of the Linux computer is not of x86/x64 architecture , you need to use libe_sqlite3.so and libSkiaSharp.so of the corresponding architecture to replace the files with the same name in the running directory. You can contact me to obtain so libraries of other architectures.

(6) Mobile terminal: Install the corresponding apk or ipa package on the mobile phone. After starting, set the IP address of the server on the login interface to log in.

(7) There are built-in test accounts in the memory virtual database: 10000, 10001, 10002, 10003, 10004, all the way to 10009; the passwords are all 1. 

         If you need to use a real physical database, you need to follow the steps below:

1. Create a new database GGTalk in SqlServer 2008+, and then execute the script in the SqlServer.sql file in the library to create the required tables.

         (If you want to use the MySQL database, use the MySQL.sql script)

2. Open the server configuration file GGTalk.Server.exe.config

      (1) Modify the value of the UseVirtualDB configuration item to false.

      (2) Modify DBType to SqlServer or MySQL.

      (3) Modify the value of the DBIP configuration item to the IP address of the database.

      (4) Modify the value of the DBPwd configuration item to be the password of the database administrator sa.

  Subsequent other steps are the same as the virtual database.  

6. GGTalk 8.0 source code download

(1) Windows server, client + Linux server, client: GGTalk_V8.0.rar (extraction code: 1234)

(2) Android side: GGTalk_V8.0_Android.rar  (extraction code: 1234)

(3) iOS: GGTalk_V8.0_iOS.zip  (extraction code: 1234)

(4) It can be directly deployed and run: GGTalk_V8.0_Deploy.rar  (extraction code: 1234)

   If you think it's not bad, please like and support it! Thanks.

Guess you like

Origin blog.csdn.net/zhuweisky/article/details/126918363