[原创] 腾讯RTX二次开发相关的一些注意事项

简介: 在企业即时通信方面,腾讯的RTX在国内的占有率应该是很高的 所以,就避免不了要与其他系统进行消息集成 腾讯为此提供了二次开发的工具包,支持JAVA、C#、VB等多种开发语言 但是,目前为止,腾讯官方提供的开发包都是基于X86架构的,这个问题非常头疼 如果采用JAVA进行集成,并且基于64位的...

在企业即时通信方面,腾讯的RTX在国内的占有率应该是很高的

所以,就避免不了要与其他系统进行消息集成

腾讯为此提供了二次开发的工具包,支持JAVA、C#、VB等多种开发语言

但是,目前为止,腾讯官方提供的开发包都是基于X86架构的,这个问题非常头疼

如果采用JAVA进行集成,并且基于64位的JDK,那么JNI是没有办法调用32位的RTX动态链接库的(DLL),会提示“SDK错误:连接到SDK服务器错误”

我开始时也是遇到了这个问题,尝试了许久,后来通过EMAIL向官方的技术支持进行询问,终于在更新了相关的链接库文件后顺利解决

在此期间,也尝试用.Net(C#)进行集成,虽然在兼容性上也会有64位和32位的问题,但可以通过在发布时指定为x86平台的方式解决

如果是WEB项目就更简单了,可以在应用池里设置32位兼容性选项

下面把集成过程中的一些重点环节进行记录,用于日后对自己有个交待:

 

1、从RTX官方下载完整安装包以及SDK开发包:http://rtx.tencent.com/rtx/download/index.shtml

2、在服务器上安装完整安装包中的RTX服务端程序:rtxserver2013formal.exe

3、在开发工作站上安装SDK开发包中的服务端二次开发支持:rtxserversdk2013formal.exe

4、修改服务器端IP地址允许规则:

  (1)采用JAVA方式集成,则修改:安装盘/Tencent/RTXServer/SDKProperty.xml

    在APIClient下增加子节点:

    开发工作站IP地址

  (2)采用.NET方式集成,则修改:安装盘/Tencent/RTXServer/AppConnConfig.xml

    在APIClient下增加子节点,内容同上

5、如果使用JAVA进行集成(可兼容32/64位环境):

  在开发工作站上,拷贝:安装盘/Tencent/RTXSSDK目录下所有的.dll文件,复制到:JDK安装目录/bin

  注意:如果使用的是64位的JDK,则还需要下载相应的链接库,分别覆盖到RTX服务端安装目录、System32、SysWOW64以及JDK/bin目录下。点此下载

  具体开发案例查看:安装盘/Tencent/RTXSSDK/demo source/server sample/java

  其中的“RTXServer SDK Java语言支持文档.doc”还是很详细的

  以下是发送消息提醒的案例代码,注意其中使用的端口号为:6000

  

import rtx.RTXSvrApi;

//...

RTXSvrApi rtxObj = new RTXSvrApi();
if (rtxObj.Init()) {
    rtxObj.setServerIP("RTXSDK的IP地址");
    rtxObj.setServerPort(6000);
    int iRet = 1;
    try{
        iRet = rtxObj.sendNotify("dong", "中文标题", "中文内容", "0", "0");
    }catch(Exception e){
        System.out.print(e.getMessage());
    }
    System.out.print(iRet);
}
rtxObj.UnInit();

 

6、如果使用.Net进行集成(可兼容32/64位环境):

  在应用中,引用:安装盘/Tencent/RTXSSDK/demo source/server sample/csharp demo/rootobj/RootObj/bin/Debug/Interop.RTXSAPILib.dll 即可

  该目录下还有官方提供的很多案例可供参考

  虽然没有类似JAVA中的说明文档有些可惜,但在使用上还是很简单的

  如果开发工作站是64位的操作系统,那么默认情况下还是会出现连接SDK服务器错误的问题

  不过可以通过以下两种方式进行解决:

  1)如果是桌面程序:可以在发布时选择面向x86平台,即可正常使用

  2)如果是WEB程序:可以在发布到的IIS中,配置所使用应用池的32位兼容选项为true即可正常使用

  以下是发送消息提醒的案例代码,注意其中使用的端口号为:8006

 

RTXSAPILib.RTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObj();
RootObj.ServerIP = "RTXSDK的IP地址";
RootObj.ServerPort = 8006;
try {
    RootObj.SendNotify(rtxId, mTitle, 0, mContent);
} catch (Exception e) {
    throw new Exception(err); //抛出异常
}
return ret;

 

7、注意事项

  1)JAVA方式通过调用SDKAPI.dll与SDK服务器中端口为6000SDKServer进行通信

  2).NET方式通过调用ObjectApi.dll与SDK服务器中端口为8006AppServer进行通信

  3)在开发工作站上,除了将RTX集成相关的链接库文件拷贝到运行时以外,没有必要将RtxServerApi.ini文件也拷贝过去,更没必要修改其中的SDK服务器的IP地址和端口,全部在程序中指定即可

  4)对于64位的JDK,或者.NET环境,需要特殊处理才行,具体方法见上面的使用说明

 


宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒

目录
相关文章
|
5月前
|
Web App开发 编解码 Linux
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
音视频技术广泛应用于直播系统,涵盖电视、电脑、手机直播等多种形式,并延伸至在线教育、医疗咨询和安全监控等领域。直播系统涉及实时编解码与传输,技术实现较复杂。从用户角度看,直播系统分为来源方和观看方,但在开发者视角下还需加入云平台作为中转。本文提出一套基于全开源软件的直播系统架构,分为三层:开源直播录制软件(如OBS Studio、RTMP Streamer),开源流媒体服务器(如SRS、ZLMediaKit),以及开源音视频播放器(如VLC media player、ExoPlayer)。这些组件共同构成一个高效、灵活且成本低廉的直播解决方案。
125 0
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
|
8月前
|
JavaScript Java 测试技术
基于微信小程序的国产动漫论坛的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的国产动漫论坛的设计与实现(源码+lw+部署文档+讲解等)
|
新能源
会后分享 | 精选十二:整车性能开发解决方案
本文由上海安世亚太公司汽车行业技术经理章敏先生在新能源汽车研讨会上所发表的演讲,此内容详细地讲解了整车性能开发解决方案。
会后分享 | 精选十二:整车性能开发解决方案
|
人工智能 小程序 搜索推荐
分享几个免费设计生成及参考工具 (第三期)
今天来给大家分享几个国外免费的设计生成工具
113 0
|
Java
《阿里巴巴Java开发手册(正式版)》电子版地址
阿里巴巴Java开发手册(正式版)
6066 0
《阿里巴巴Java开发手册(正式版)》电子版地址
|
算法 Java 程序员
关于《文章发布系统》系列教程原版创作说明
大家好,我是Spring小杨(以前的ID是剽悍一小兔)。我发现在CSDN,还有其他平台上有我这个系列教程的大量复制粘贴,还有许多无说明的“转载”…
|
Java
《阿里巴巴Java开发手册(正式版)》电子版地址
阿里巴巴Java开发手册(正式版)
1085 0
《阿里巴巴Java开发手册(正式版)》电子版地址
|
存储 安全 专有云
全网首发 | 阿里云存储产品手册
阿里云存储产品手册正式发布会
376 0
全网首发 | 阿里云存储产品手册
|
Android开发 开发者
神速!据闻华为已经测试 EMUI 9 系统,Mate 系列旗舰首发?
自从华为和谷歌合作共同推出 Nexus 6P 后,这两家企业的关系也越走越近。这两三年里华为升级系统积极性非常高,升级系统的速度不仅远超国内手机厂商,甚至比国外的厂商如索尼、HTC 等都要快很多。谷歌在 3 月 8 日才刚刚放出第一版安卓 9.0 预览版,没想到华为就已经开始有动作了。
269 0
神速!据闻华为已经测试 EMUI 9 系统,Mate 系列旗舰首发?
全网首发:怎样制作CDKEY(1)-简介及应用场景
全网首发:怎样制作CDKEY(1)-简介及应用场景
205 0