zoukankan      html  css  js  c++  java
  • 腾讯RTX二次开发相关的一些注意事项

    在企业即时通信方面,腾讯的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>开发工作站IP地址</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环境,需要特殊处理才行,具体方法见上面的使用说明

    转载:https://www.cnblogs.com/netWild/p/4241650.html

  • 相关阅读:
    2312--1.3.4 Prime Cryptarithm 牛式
    Slava and tanks 877C
    World Cup 996B(排队模拟)
    css内边距 边框
    iframs刷新的两种方法
    JS DOM节点
    JS对话框
    JS事件常用事件
    JS数组
    JS第一天
  • 原文地址:https://www.cnblogs.com/guohu/p/11107077.html
Copyright © 2011-2022 走看看