腾讯RTX二次开发相关的一些注意事项
http://www.cnblogs.com/netWild/p/4241650.html
——————————————————————————————————————————————————————————————————————————————
在企业即时通信方面,腾讯的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服务器中端口为6000的SDKServer进行通信
2).NET方式通过调用ObjectApi.dll与SDK服务器中端口为8006的AppServer进行通信
3)在开发工作站上,除了将RTX集成相关的链接库文件拷贝到运行时以外,没有必要将RtxServerApi.ini文件也拷贝过去,更没必要修改其中的SDK服务器的IP地址和端口,全部在程序中指定即可
4)对于64位的JDK,或者.NET环境,需要特殊处理才行,具体方法见上面的使用说明
腾讯RTX二次开发相关的一些注意事项的更多相关文章
- [原创] 腾讯RTX二次开发相关的一些注意事项
在企业即时通信方面,腾讯的RTX在国内的占有率应该是很高的 所以,就避免不了要与其他系统进行消息集成 腾讯为此提供了二次开发的工具包,支持JAVA.C#.VB等多种开发语言 但是,目前为止,腾讯官方提 ...
- RTX二次开发笔记2
问题一:关于DLL文件的引用 在安装文件夹内 APIObject.dll==>RTXSAPI.dll 服务器API接口 RTXCAPI.DLL ==> 客户端API接口 问题二:RTX二次 ...
- rtx 二次开发,查找所有部门
1>rtx二次开发操作类 using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- RTX二次开发(一)(基于ASP.NET)
腾讯通RTX是(Real Time eXpert)是腾讯公司推出的企业级实时通信平台,致力于帮助企业提高运作效率.降低沟通成本.拓展商业机会,是一种高度可管理.低成本.易部署的IT平台.RTX集成了丰 ...
- RTX二次开发SDK需要注意的地方
1.如果是ASP.net二次开发调用的,线程池必须开发 Enable 32-bit Applications设置为true. 因为RTX的调用接口很多是32位的.否则会报一下错误 RootObj = ...
- RTX二次开发(二)(基于ASP.NET)
上一篇,我们讲到我开发环境的配置,还没配置好开发环境或再看一遍开发环境配置?接下来,我们开始coding...... 在coding之前,我们先添加引用. 我们在SDK的安装目录中引用这个文件. 引用 ...
- RTX二次开发集成
1,rtx服务器端有很多端口,二次发的程序与这些打开的端口交互.打开端口的方法在rtx服务管理器中,默认http服务未启用.需要手动启用http端口如下: 如果打开rtx服务器没有启用http的801 ...
- RTX二次开发笔记1
在客户端,一个rtx用户给另一个rtx用户发送消息! 我的解决方案:在rtx服务端部署一个 wcf服务 或 webservice 服务,然后程序在客户端调用服务就行. 1,C#版 (服务端需要4个DL ...
- RTX二次开发::检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件失败,
解决方法: 1.Interop.RTXSAPILib.dll这个是32位的 将IIS 应用程序池 启用32位应用程序 设置为true就可以了, 2.把编译好的程序选择X86平台运行,就好了 程序员的基 ...
随机推荐
- python学习笔记013——模块中的私有属性
1 私有属性的使用方式 在python中,没有类似private之类的关键字来声明私有方法或属性.若要声明其私有属性,语法规则为: 属性前加双下划线,属性后不加(双)下划线,如将属性name私有化,则 ...
- Jmeter时间函数工具(参考)
__time : 获取时间戳.格式化时间 ${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2018-06-01 11:08:23:635 ${_ ...
- 关于Andorid的RecyclerView在V7包下找不到的解决办法
关于Andorid的RecyclerView在V7包下找不到的解决办法 最近在学习使用RecyclerView替换现有的ListView,看了几篇文章.当准备自己动手实现的时候发现,V7包下找不到 ...
- 浅析I/O模型
以下是本文的目录大纲: 一.什么是同步?什么是异步? 二.什么是阻塞?什么是非阻塞? 三.什么是阻塞IO?什么是非阻塞IO? 四.什么是同步IO?什么是异步IO? 五.五种IO模型 六.两种高性能IO ...
- ISCC2014-reverse
这是我做reverse的题解.在咱逆向之路上的mark一下,,水平有限,大牛见笑. 题目及题解链接:http://pan.baidu.com/s/1gd3k2RL 宗女齐姜 果然是仅仅有50分的难度, ...
- CentOS配置本地yum源/阿里云yum源/163yuan源,并配置yum源的优先级
一.用Centos镜像搭建本地yum源 由于安装centos后的默认yum源为centos的官方地址,所以在国内使用很慢甚至无法访问,所以一般的做法都是把默认的yum源替换成aliyun的yum源或者 ...
- Android利用Fiddler进行网络数据抓包【怎么跟踪微信请求】
主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信请求就可以利用这个方法. Mac 下请使用 Charles 代替 ...
- [na]那些OVER的封装(pppoe/ppp/ipsec)
什么over什么,如pppoe, ppp的封装都在over对象之后,入下图: PPPOE Ipsec
- [na][tools]快速ping网段工具-QuickPing
一款神器 quickping 能够很快的探测出该网断分出去哪些地址. 在线的会显示绿色 在线的+有主机名的显示为亮绿色
- iOS改变UINavigationBar导航条标题颜色和字体
转自:http://www.2cto.com/kf/201311/260409.html iOS 5 以后 UINavigationController 可以 改变UINavigationBar导航条 ...