即時通訊開發SDK中AnyChat Server SDK與SDK Filter Plus有何差異?

 “AnyChat Server SDK”與“SDK Filter Plus”均是AnyChat平臺服務器端應用程序編程接口,用於實現AnyChat平臺的可擴展應用,如業務邏輯的處理,也可用於AnyChat平臺與第三方平臺的互聯互通。

 

我們通常將使用“AnyChat Server SDK”開發的應用程序稱爲業務層服務器,需與AnyChat核心服務器程序部署於同一臺計算機上。默認情況下(沒有配置業務層服務器時),AnyChat平臺沒有附帶任何業務邏輯,如採用AnyChat開發會議室,或是聊天室時,裏面的“麥序”、“公麥”等應用均屬於業務層邏輯,需要由業務層服務器來處理,同時用自定義的指令,實現與客戶端的數據交互,完成對應的業務邏輯。

 

SDK Filter Plus開發出來是一個dll動態庫,業務邏輯實現在這個動態庫中,在AnyChatCoreServer.ini中配置後,核心服務器就會調用這個動態庫,與核心服務器是一個進程,見下圖所示:

AnyChat SDK Filter Plus應用模式

 

 

用AnyChat Server SDK開發出來的是一個獨立的EXE應用程序(業務服務器),業務邏輯實現在這個應用程序中,核心服務器與業務服務器通過IPC通信,與核心服務器屬不同的進程,見下圖所示:

 

 

AnyChat Server SDK應用模式

 

 

“AnyChat Server SDK”與“SDK Filter Plus”兩者可以實現相同的功能,通常來說,“SDK Filter Plus”適合業務邏輯較簡單的應用,而“AnyChat Server SDK”則適合業務邏輯較複雜的應用,實現獨立的業務層服務器,有對應的界面顯示。在實際應用時兩者二選其一。

 

上面所說的“業務服務器”是需要用戶獨立開發(調用我們提供的AnyChat Server SDK API接口),實現需求相關的業務邏輯。我們在SDK包中提供了“SDK Filter Plus”插件和業務服務器的示例代碼供參考,位於SDK包的src\server\c++文件夾下面

 

關於數據庫連接:核心服務器(AnyChatCoreServer.exe)是不需要連接數據庫的,連接數據庫在業務層處理,如在SDK Filter Plus裏面處理,或是在業務服務器裏面處理,見上圖“AnyChat Server SDK應用模式”,所以不論上層應用是連接的MSSQL、MySQL、DB2、Oracle或是NoSQL,對AnyChat平臺來說,都是透明的。

 

在AnyChat Server SDK開發中,核心服務器需要配置一個IPCFilterPlus.dll的插件,實際上IPCFilterPlus.dll就是一個特殊的SDK Filter Plus插件,用於實現與AnyChat Server SDK之間的IPC通信,在實際開發過程中,開發人員不需要關注IPCFilterPlus的實現細節,只需要與AnyChat Server SDK進行交互即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章