RTX傳送訊息提醒實現以及注意事項

2021-09-22 06:34:25 字數 3848 閱讀 3220

一、rtx簡介

二、rtxsdk

三、訊息傳送原理:

通過get或者post方式將需要傳送的訊息和rtx使用者帳號,傳給rtx提供的cgi介面。

四、訊息傳送方法:

功能一:傳送即時訊息

1.呼叫方式:get/post url:/sendnotify.cgi 用法舉例(ie位址列中輸入):

:8012/sendnotify.cgi?msg

=hello&receiver=wwjs

參數列:

receiver:接收者,使用者暱稱,多個接收者以「,」隔開。

okurl:成功後ie自動定位到指定的url 格式類似為:okurl=www.

baidu.com或者okurl=注意:這裡的url必須為絕對位址

。errurl:失敗後ie自動定位到指定的url。

功能二:獲取使用者狀態

1.呼叫方式::8012/getstatus.php?username=yangbin

2.引數說明:username 需要獲取哪個使用者的狀態

功能三:給某個組**rtx廣播訊息

1.呼叫方式::8012/sendnotifybydepart.php?receiverdepart=運維開發組&msg=吃飯了&title=通知&online=1&delaytime=10000

2.引數說明:receiverdepart 需要給那個部門傳送訊息,該部門即在rtx中看到的組織架構中的部門名

msg:

訊息內容 ,如需要發隱式鏈結,格式如: [明朝|]

title:訊息提醒的標題。 【可省略】

delaytime:訊息提醒框的停留時間(毫秒),0表示不自動消失,預設為0。 【可省略】

okurl:成功後ie自動定位到指定的url 格式類似為:okurl=rtx.tencent.com 或者okurl=

注意:這裡的url必須為絕對位址。【可省略】

errurl:失敗後ie自動定位到指定的url。【可省略】

功能四:給某個群**rtx廣播訊息

1.呼叫方式::8012/sendnotifybygroup.php?receivergroup=m4開發群&msg=吃飯了&title=通知&online=1&delaytime=10000

2.引數說明: receivergroup 需要給那個**送廣播訊息,即rtx群

msg:

訊息內容 ,如需要發隱式鏈結,格式如: [明朝|]

title:訊息提醒的標題。 【可省略】

delaytime:訊息提醒框的停留時間(毫秒),0表示不自動消失,預設為0。 【可省略】

okurl:成功後ie自動定位到指定的url 格式類似為:okurl=rtx.tencent.com 或者okurl=

注意:這裡的url必須為絕對位址。【可省略】

errurl:失敗後ie自動定位到指定的url。【可省略】

五、注意事項

1.引數msg中如果包含中文那麼需要將msg的編碼方式轉換成gbk或者gb2312,msg是不支援utf-8

編碼方式的。

2.引數msg如需要加入超連結格式為:[點我跳轉|]

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包,必須將這台計算機的ip

192.168.17.1位址也加入,如下**,在段。

127.0.0.1

192.168.17.1

如果新增遠端訪問機器的ip位址,如下**,允許192.168.17.2通過http方式訪問cgi檔案。

192.168.17.1

.2七、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說明:

RTX傳送訊息提醒實現以及注意事項

一 rtx簡介 二 rtxsdk 三 訊息傳送原理 通過get或者post方式將需要傳送的訊息和rtx使用者帳號,傳給rtx提供的cgi介面。四 訊息傳送方法 功能一 傳送即時訊息 1.呼叫方式 get post url sendnotify.cgi 用法舉例 ie位址列中輸入 8012 sendn...

PHP實現RTX傳送訊息提醒

2 然後再rtx伺服器的安裝路徑下有個webroot資料夾,資料夾下有個sendnotify.cgi檔案,這就是rtx傳送訊息的介面檔案,開啟檔案是懂php的都能看懂的 不過需要在頭部加入header頭,以及需要處理一些引數的編碼 1 header content type text html ch...

golang介面的實現以及注意事項。

package main import fmt type animal inte ce type human struct func r human move type bird struct func r bird move func movetest1 animal animal 雖然這個函式的...