最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

開源跨平臺即時通訊GGTalk源碼剖析之:概述

2023-08-21 15:41 作者:傲瑞-即時通訊  | 我要投稿

GGTalk 服務(wù)端支持:Windows、Linux、國產(chǎn)OS

GGTalk 客戶端支持:Windows、Linux、國產(chǎn)OS、Android、iOS

GGTalk開源即時通訊 在2021年推出Windows PC端、Android端、iOS端后,現(xiàn)在終于推出最新的8.0版本,增加了Linux客戶端,實現(xiàn)了真正的跨平臺、全平臺互通。

為什么Linux端不可或缺了?這幾年,信創(chuàng)國產(chǎn)化的勢頭越來越猛,政府事企業(yè)單位都在逐步轉(zhuǎn)向使用國產(chǎn)OS、國產(chǎn)CPU、國產(chǎn)數(shù)據(jù)庫。在接單的時候,也有客戶要求GGTalk能支持國產(chǎn)Linux系統(tǒng)。于是,就逐漸有了要為GGTalk增加Linux端的想法。經(jīng)過一年多的開發(fā),GGTalk Linux端的功能基本完整了,支持在搭載了國產(chǎn)芯片的國產(chǎn)操作系統(tǒng)上運行,并支持國產(chǎn)數(shù)據(jù)庫。

在GGTalk能支持跨平臺的情況下,了解和使用GGTalk的朋友越來越多,于是,我就打算寫一個系列的文章來完整地介紹GGTalk的方方面面,專題的名字就叫做《GGTalk源碼剖析》吧。這個《GGTalk源碼剖析》系列的文章將基于最新的 GGTalk V8.0 進行。

廢話不多說,先上張GGTalk 8.0在國產(chǎn)銀河麒麟系統(tǒng)上運行的截圖(在Windows上運行的UI界面完全相同):

再來張GGTalk ?8.0 手機端截圖:

一. GGTalk 8.0 支持的主要平臺

GGTalk V8.0 服務(wù)端支持 Windows、Linux。

客戶端支持 Windows、Android、iOS、Linux、以及銀河麒麟、統(tǒng)信UOS等國產(chǎn)操作系統(tǒng)。

數(shù)據(jù)庫支持 SqlServer、MySql、以及達夢數(shù)據(jù)庫、人大金倉、南大通用等國產(chǎn)數(shù)據(jù)庫。

還沒有GGTalk源碼的朋友,可以到 GGTalk源碼下載中心?下載。

二. GGTalk 8.0 所需的開發(fā)、部署、運行環(huán)境

總的說來,GGTalk 8.0的服務(wù)端有Windows版本和Linux版本,客戶端版本有:Windows、Linux、Android、iOS。

涉及到的開發(fā)語言有:C#、Java、Objective-C

涉及到的開發(fā)環(huán)境有:Visual Studio、Android Studio、XCode。

眼尖的同學(xué)已經(jīng)發(fā)現(xiàn),我們的Linux服務(wù)端和Linux客戶端都是基于.NetCore的,用的都是C#。(真是大愛C#,自認(rèn)為是最優(yōu)雅的語言。)

GGTalk 8.0 各個端所需的操作系統(tǒng)版本、運行時、開發(fā)環(huán)境、開發(fā)語言的詳細說明如下列表所示:

GGTalk 8.0對數(shù)據(jù)庫的支持除了SqlServer和MySql外,也是支持國產(chǎn)數(shù)據(jù)庫的,像達夢數(shù)據(jù)庫、南大通用等。

三. GGTalk 8.0 源碼目錄說明

從本文文末下載GGTalk 8.0的源碼,可以看到有三個壓縮包:

(1)GGTalk_V8.0.rar :這個壓縮包中主要是一個VS的解決方案,下面有GGTalk 8.0的Windows和Linux版本的服務(wù)端,以及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 版本,包括服務(wù)端、客戶端、手機端的可以執(zhí)行包。

GGTalk的VS的解決方案下的項目比較多,這里簡單說明一下,如下圖所示:

NetCore目錄下的放的都是與Linux版本相關(guān)的項目。我們重點關(guān)注紅框標(biāo)記出的四個項目:

  • GGTalk:是GGTalk 8.0的Windows客戶端。

  • GGTalk.Server :是GGTalk 8.0的Windows服務(wù)端?! ? ??

  • GGTalk.Linux:是GGTalk 8.0的Linux客戶端。

  • GGTalk.Server.NetCore :是GGTalk 8.0的Linux服務(wù)端。

  • 數(shù)據(jù)庫腳本:在該文件夾中,有GGTalk 8.0的SqlServer數(shù)據(jù)庫的腳本和MySql數(shù)據(jù)庫的腳本。


四. GGTalk? 8.0 數(shù)據(jù)庫表說明

(1)GGUser :用戶表,所有注冊用戶都保存在該表中。

(2)GGGroup :群組表,所有創(chuàng)建的群都保存在該表中。

(3)OfflineMessage :離線消息表,當(dāng)目標(biāo)用戶不在線時,發(fā)送給他的消息存在該表中。

(4)OfflineFileItem :離線文件表,當(dāng)目標(biāo)用戶不在線時,發(fā)送給他的文件對應(yīng)的記錄存在該表中。

(5)GroupBan :群禁言表,當(dāng)群中的用戶被禁言時,對應(yīng)的記錄將存在該表中。

(6)ChatMessageRecord :聊天記錄表,一對一的聊天記錄、群聊天記錄都存在該表中。

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

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

(9)GGConfiguration ?:配置表,用于預(yù)留存儲與GGTalk相關(guān)的配置信息。

五. GGTalk 8.0 部署說明?

下面我們說明一下如何部署GGTalk_V8.0_Deploy.rar壓縮包中的可直接運行的各個端。? ?

(1)服務(wù)端默認(rèn)配置是使用內(nèi)存虛擬數(shù)據(jù)庫,不需要真實數(shù)據(jù)庫,這樣方便測試。

(2)Windows 服務(wù)端:將GGTalk.Server文件夾拷貝到服務(wù)器上,運行 GGTalk.Server.exe。

(3)Linux 服務(wù)端:將GGTalk.Server.Linux文件夾拷貝到CentOS服務(wù)器上,進入該文件夾,打開終端,執(zhí)行命令:dotnet GGTalk.Server.NetCore.dll。

?注:GGTalk Windows服務(wù)端或Linux服務(wù)端只要啟動一個就可以的,所有類型客戶端都可以連到這個啟動的服務(wù)端。

(4)Windows 客戶端:修改GGTalk目錄下的客戶端配置文件GGTalk.exe.config中ServerIP配置項的值為服務(wù)器的IP,雙擊GGTalk.exe運行客戶端,注冊帳號登錄試用。。

(5)Linux ?客戶端:將GGTalk.Linux文件夾拷貝到國產(chǎn)Linux系統(tǒng)(Ubuntu也可以)上,進入該文件夾,打開終端,執(zhí)行命令:dotnet GGTalk.Linux.dll。

如果安裝了.Net Core,仍然提示找不到dotnet命令,則需要把dotnet的可執(zhí)行文件做一個軟鏈接,放到usr/bin下面。

注:如果Linux電腦的CPU不是x86/x64架構(gòu)的,則需要使用對應(yīng)架構(gòu)的libe_sqlite3.so、libSkiaSharp.so來替換運行目錄下的同名文件。可聯(lián)系我獲取其它架構(gòu)的so庫。

(6)手機端:將對應(yīng)的apk或ipa包在手機上安裝,啟動后,在登錄界面設(shè)置服務(wù)器的IP地址,即可登錄。

(7)內(nèi)存虛擬數(shù)據(jù)庫內(nèi)置了測試帳號:10000,10001,10002,10003,10004,一直到10009;密碼都是 1。?

如果需要使用真實的物理數(shù)據(jù)庫,則需按下列步驟進行:

(1)在SqlServer ?2008+ 中新建數(shù)據(jù)庫 GGTalk,然后在該庫中執(zhí)行 SqlServer.sql 文件中的腳本以創(chuàng)建所需表。?(如果要使用MySQL數(shù)據(jù)庫,則使用MySQL.sql腳本)

(2)打開服務(wù)端的配置文件GGTalk.Server.exe.config。(Linux服務(wù)端對應(yīng)的文件是 GGTalk.Server.NetCore.dll.config )

  • ?修改 UseVirtualDB 配置項的值為false。?

  • ?修改 DBType 為 SqlServer 或 MySQL。?

  • ?修改 DBIP 配置項的值為數(shù)據(jù)庫的IP地址。?

  • ?修改 DBPwd 配置項的值為數(shù)據(jù)庫管理員sa的密碼。

  后續(xù)其它的步驟就與虛擬數(shù)據(jù)庫是一樣的了。?? ?

六. GGTalk 8.0 源碼下載

復(fù)制下面鏈接下載GGTalk 8.0 版本源碼。

https://www.cnblogs.com/justnow/p/4990065.html

作為《GGTalk源碼剖析》的第一篇,差不多就這樣了。在接下來的一篇我們將介紹GGTalk數(shù)據(jù)庫設(shè)計。

敬請期待:《開源跨平臺即時通訊GGTalk源碼剖析之:數(shù)據(jù)庫設(shè)計》


開源跨平臺即時通訊GGTalk源碼剖析之:概述的評論 (共 條)

分享到微博請遵守國家法律
常州市| 德令哈市| 墨竹工卡县| 晋中市| 大名县| 涞源县| 喀喇沁旗| 九江县| 同江市| 长阳| 隆昌县| 焦作市| 海南省| 浦北县| 淳安县| 正宁县| 阳谷县| 三河市| 什邡市| 白城市| 班戈县| 建湖县| 芒康县| 米脂县| 崇义县| 浪卡子县| 富蕴县| 连江县| 延川县| 拜泉县| 上思县| 罗定市| 伊吾县| 苏尼特左旗| 民丰县| 桦甸市| 治县。| 剑河县| 莎车县| 页游| 集贤县|