一、RTX简介
RTX是腾讯公司推出的企业级即时通信平台。该平台定位于降低企业通信费用,增强企业内部沟通能力,改善企业与客户之间的沟通渠道,创造新兴的企业沟通文化,提高企业生产力。RTX平台的主要功能,包括企业内部实时信息交互、视频语音网络会议、企业短信中心、标准目录服务支持等等。RTX平台具有很高的实用性、易用性和可管理性。除了底层采用128位对称加密技术之外,在实际应用中,RTX可以通过员工实名制、记录对外交互信息等措施,确保企业应用的通信安全。 同时,腾讯公司为所有的RTX用户提供企业级的信息服务,主要包括企业黄页、企业间协作、网络IP电话、集团短信,以及企业与网络消费者实时沟通等等服务。想了解更多腾讯通(RTX)的信息,请访问:http://rtx.tencent.com

二、RTXSDK
RTX Server所提供的二次扩展功能,包括API接口的说明、二次扩展应用的实现、以及部分扩展功能的示例程序。通过本文档,您可以了解到如何通过腾讯RTX Server所提供的API接口进行一些个性化的功能扩展以及应用集成。
腾讯RTX Server作为企业通信平台,一方面为企业提供丰富的即时通信功能(文本、音频/视频、文件)与服务(短信),另一方面为企业的其他应用提供了丰富的集成、扩展接口。基于Server API的扩展,可实现企业应用在即时通信、人机交互,以及无线应用方面的快速增强。
我们在UNIONMON中是调用RTX的API接口来进行开发的,SDK接口的测试源程序位于SDK安装目录下的Sample目录,通过所提供的JAVA测试程序,可以快速了解、检测SDK相关接口的功能。

三、消息发送原理:
通过GET或者POST方式将需要发送的消息和RTX用户帐号,传给RTX提供的cgi接口。

四、消息发送方法:
功能一:发送即时消息
1.调用方式:GET/POST
URL:/sendnotify.cgi 用法举例(IE地址栏中输入): http://127.0.0.1:8012/sendnotify.cgi?msg=hello&receiver=wwjs
参数表:
receiver:接收者,用户昵称,多个接收者以“,”隔开。
msg:消息内容 ,如需要发隐式链接,格式如: [我的博客|http://www.baidu.com]
title:消息提醒的标题。
delaytime:消息提醒框的停留时间(毫秒),0表示不自动消失。
okurl:成功后IE自动定位到指定的url 格式类似为:okurl=www.baidu.com或者okurl=http://www.baidu.com 注意:这里的url必须为绝对地址。
errurl:失败后IE自动定位到指定的url。

功能二:获取用户状态
1.调用方式:http://127.0.0.1:8012/getstatus.php?username=yangbin
2.参数说明:username 需要获取哪个用户的状态

功能三:给某个组群发RTX广播消息
1.调用方式:http://127.0.0.1:8012/sendnotifybydepart.php?receiverdepart=运维开发组&msg=吃饭了&title=通知&online=1&delaytime=10000
2.参数说明:receiverdepart 需要给那个部门发送消息,该部门即在RTX中看到的组织架构中的部门名
msg:消息内容 ,如需要发隐式链接,格式如: [明朝|http://www.baidu.com]
title:消息提醒的标题。 【可省略】
online:是否只发在线用户,默认只发给在线用户。 【可省略】
delaytime:消息提醒框的停留时间(毫秒),0表示不自动消失,默认为0。 【可省略】
okurl:成功后IE自动定位到指定的url 格式类似为:okurl=rtx.tencent.com
或者okurl=http://tx.tencent.com 注意:这里的url必须为绝对地址。 【可省略】
errurl:失败后IE自动定位到指定的url。【可省略】

功能四:给某个群群发RTX广播消息
1.调用方式:http://127.0.0.1:8012/sendnotifybygroup.php?receivergroup=M4开发群&msg=吃饭了&title=通知&online=1&delaytime=10000
2.参数说明:
receivergroup 需要给那个群发送广播消息,即RTX群
msg:消息内容 ,如需要发隐式链接,格式如: [明朝|http://www.baidu.com]
title:消息提醒的标题。 【可省略】
online:是否只发在线用户,默认只发给在线用户。 【可省略】
delaytime:消息提醒框的停留时间(毫秒),0表示不自动消失,默认为0。 【可省略】
okurl:成功后IE自动定位到指定的url 格式类似为:okurl=rtx.tencent.com
或者okurl=http://tx.tencent.com 注意:这里的url必须为绝对地址。 【可省略】
errurl:失败后IE自动定位到指定的url。【可省略】

五、注意事项

1.参数msg中如果包含中文那么需要将msg的编码方式转换成GBK或者GB2312,msg是不支持UTF-8编码方式的。
2.参数msg如需要加入超链接格式为:[点我跳转|http://www.baidu.com]
3.参数msg中不能出现空格,如果需要空格可用【+】替代。
4.如果请求的url中包含特殊字符,那么需要使用urlencode(),来对url进行编码,否则可能导致超链接显示不正常。
5.发送消息是需要权限的,这个需要在RTX服务端配置才能发送消息。

六、问题建议
1.对msg进行转码的时候用GBK不要用GB2312,因为GB2312支持的汉字比较少,很多比较偏的汉字会无法显示,导致消息被中断(即用户只能收到这个中断前的字符)。
2.在对消息进行转码的时候,可以考虑加入参数IGNORE,即$msg=iconv(“utf-8″,”gb2312//IGNORE”,$msg)这样在转码的时候将会忽略错误字符。会将错误字符后面的继续转码。
3.在RTXServer服务端的WebRoot目录下放着很多的cgi和php文件。这些文件都是可以用HTTP方式来访问的,你也可以自己编写新的cgi或者php文件,然后将其放到改目录下即可。这样将可能提供非常强大的扩展功能。
4.解决中文发送问题:
在SendNotify.cgi(C:\Program
Files\Tencent\RTXServer\WebRoot\SendNotify.cgi)加上以下语句:
$msg = iconv("utf-8","gbk", $msg); 
$title = iconv("utf-8","gbk", $title);
$receiver = iconv("utf-8","gbk", $receiver);
5.解决IP受限问题:
在SDKProperty.xml(C:\Program
Files\Tencent\RTXServer\SDKProperty.xml)
如果需要在其它计算机上使用SDK包,必须将这台计算机的IP192.168.17.1地址也加入,如下代码,在<APIClient>段。
<APIClient>
<IPLimit
Enabled="1">
  <IP>127.0.0.1</IP>
    <IP>192.168.17.1</IP>
</IPLimit>
</APIClient>
如果添加远程访问机器的IP地址,如下代码,允许192.168.17.2通过http方式访问cgi文件。
<sdkhttp>
<IPLimit
Enabled="1">
  <IP>192.168.17.1.2</IP>
</IPLimit>
</sdkhttp>

七、RTX服务器迁移或者RTX服务器系统重装注意事项
1、RTX服务器迁移或者RTX服务器系统重装前,需注意备份如下数据:
(1)、在RTX管理器–“用户管理”–“用户数据导入导出”,选择导出按钮将RTX的用户数据导出,格式为xml。
(2)、备份用户群数据和用户照片,分别保存在db\disgroup_db.mdb和files\infoserver\userphotofiles。一般情况下,用户数据导入导出功能导出的xml格式用户数据在导入到RTX以后,用户群数据和角色数据都会自动导入的,此步备份的目的是当导入用户数据失败时,可以将这两个数据复制到相应位置用于还原。建议将db\和config\下的所有文件备份;
(3)、如果后台数据库为SQL,通过SQL管理器备份用户数据库,如果没有第三方应用,RTX后台数据库建议直接使用默认的ACCESS。

2、RTX服务器安装完成后,需注意以下几点:
(1)、先导入授权文件,保证所有服务都已经正常启动再做余下的操作;
(2)、导入xml格式用户数据时,注意要先选择“RTX2005及以后版本数据导入”;
(3)、如果部署环境是内网的RTX服务器发布到公网,需在“配置向导”–“服务运行状态”–“高级配置”–“客户端登录服务器的地址”增加公网IP地址,否则公网用户可能无法发送图片和文件;
(4)、停止服务器“服务运行状态”中所有服务,使用记事本打开服务器安装目录*:\Program
Files\Tencent\RTXServer\config\rtxserver.xml
,把相应端口的IP地址全部改为127.0.0.1(8009端口的例外),保存文件后再重新启动所有服务;
(5)、遇到公网用户无法自动升级的情况,需先在RTX管理器中停止所有服务,然后打开安装目录中config下的rtxserver.xml,找到8009端口对应的IP,将IP改为公网IP,RTX管理器的“服务运行状态”urgradesvr自动升级服务器配置也做相同的更改,最后启动所有服务。更改后公网用户可以自动升级,但内网用户就无法自动升级了,需要根据实际应用情况权衡。

参考博客:《使用web向RTX发通知
另附,RTX官方SDK说明:http://rtx.tencent.com/sdk/

RTX发送消息提醒实现以及注意事项的更多相关文章

  1. PHP实现RTX发送消息提醒

    RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档( ...

  2. RTX消息提醒工具设计文档

    为什么要做 项目上线后,系统依然由各业务模块负责人自己维护.而后台运行的各种业务服务结果,不能及时反馈到业务负责人.而等到客户反馈时则会太被动.为了能及时发现并解决项目问题,设计了该工具. 可利用资源 ...

  3. python使用itchat发送微信消息提醒

    最近在学习一点python,先找了找有趣的应用,实际修改跑了一下提高兴趣程度. 找到itchat,它的简介是这样的: “itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. ...

  4. 使用SignalR实现消息提醒

    Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务器通信,随着Html5中W ...

  5. 一步一步来做WebQQ机器人-(五)(发送消息||完结)

    × 本篇主要是: 发送QQ消息(to:好友,群),以及对小黄鸡抓包利用它的语言库 本文是WebQQ流程的最后一章 最后一章内容不多但我还是啰嗦,可能对大部分人都已知晓的流程方法我也会介绍一下 前面几个 ...

  6. Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

    通过调用微信提供的API接口,我们可以很方便的在应用中发送消息给微信好友,或者分享到朋友圈.在微信开发平台(https://open.weixin.qq.com)里,提供了详细的说明文档和样例.但由于 ...

  7. C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 即时消息提醒功能改进

    可以给自己的信息管理系统增加一些即时消息提醒功能,简单方便,一般是一行代码就可以发送提醒信息了,方便二次开发,个性化改进. 1:可以用简拼,快速查找内部员工. 2:双击直接可以发QQ消息. 3:双击直 ...

  8. 发送消息-配置app_id

    $user_id = $curr_workitem["creater_id"]; $user_name = g('dao_user') -> get_by_id($user_ ...

  9. python 全栈开发,Day130(多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播)

    先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.3.zip 注意:由于涉及到 ...

随机推荐

  1. Requirejs加载超时问题的一个解决方法:设置waitSeconds=0

    有时Requirejs会遇到加载js超时问题 除了排查js脚本问题,网络问题以外的一个解决方法是加大Require的等待时间waitSeconds,或者直接设置为0,这个参数的意义是:The numb ...

  2. WebSocket桌面客户端工具

    考虑到WebSocket的诸多优点和未来的趋势,去年底把服务端通讯全部由HTTP改成WebSocket,期间为了方便测试,做了这个小工具.共享出来以方便有同样需求的程序员. 下载的压缩包里含有源代码和 ...

  3. RabbitMQ学习笔记4-使用fanout交换器

    fanout交换器会把发送给它的所有消息发送给绑定在它上面的队列,起到广播一样的效果. 本里使用实际业务中常见的例子, 订单系统:创建订单,然后发送一个事件消息 积分系统:发送订单的积分奖励 短信平台 ...

  4. JSP中文乱码解决方案

    学习JSP的过程中总会碰到中文乱码问题,有的是post方式提交没问题,用get方式提交有乱码,还有的是部署到tomcat中没问题,在Eclipse中启动tomcat,发现用get方式提交有乱码.产生乱 ...

  5. android google 统计导致的文件冲突

    android studio 加入google 统计 1. buildscript { repositories { jcenter() } dependencies { classpath 'com ...

  6. 【网络编程】——linux socket demo

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/socket ...

  7. adding validation annotators to model classes 在linq to EntityFrame的Model中添加前台验证validation annotators

    The same solution can be applied for LINQ to SQL. The snippet the article shows for using the Metada ...

  8. iOS开发——项目实战总结&数据持久化分析

    数据持久化分析 plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 当存储大块数据时你会怎么做? 你有很多选择,比 ...

  9. WPF中如何用代码触发按钮Click处理

    btnOk.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

  10. 关于织梦系统不支持php中GD库的问题

    大多数人在显成的PHP的CMS时,如织梦CMS,安装的时候不支持GD库,就导致整个网站的验证码不显示,以下是个人对此类问题的解决办法: 1.首先找到wamp的安装目录,找到PHP的文件夹,打开php. ...