腾讯通服务器端装上 RTXServerSDK, 可以通过几种方式访问:
一消息发送方法:
功能一: 发送即时消息
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 服务器系统重装注意事项
1RTX 服务器迁移或者 RTX 服务器系统重装前, 需注意备份如下数据:
(1) 在 RTX 管理器用户管理用户数据导入导出, 选择导出按钮将 RTX 的用户数据导出, 格式为 xml
(2) 备份用户群数据和用户照片, 分别保存在 db\disgroup_db.mdb 和 files\infoserver\userphotofiles 一般情况下, 用户数据导入导出功能导出的 xml 格式用户数据在导入到 RTX 以后, 用户群数据和角色数据都会自动导入的, 此步备份的目的是当导入用户数据失败时, 可以将这两个数据复制到相应位置用于还原建议将 db \ 和 config \ 下的所有文件备份;
(3) 如果后台数据库为 SQL, 通过 SQL 管理器备份用户数据库, 如果没有第三方应用, RTX 后台数据库建议直接使用默认的 ACCESS
2RTX 服务器安装完成后, 需注意以下几点:
(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 自动升级服务器配置也做相同的更改, 最后启动所有服务更改后公网用户可以自动升级, 但内网用户就无法自动升级了, 需要根据实际应用情况权衡
来源: http://www.bubuko.com/infodetail-2496112.html