即时通讯开发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进行交互即可。

你可能感兴趣的:(开发,服务器,视频通话)