天天看點

即時通訊開發軟體中的透明通道

  透明通道”顧名思義就是AnyChat SDK為上層應用提供的一個傳輸資料的通道,由于AnyChat SDK并不關心所傳輸的内容,即所傳輸的資料相對于SDK來說是“透明”的,便稱為“透明通道”。

需要工具:Anychat V4.6

方法:

1、 首先百度下載下傳一個anychat安裝包,并解壓。

2、 上層應用可以利用SDK提供的透明通道來擴充業務,傳輸的内容沒有限制,可以為任意資料類型緩沖區,單次傳輸大小限制為1000位元組,如可以利用透明通道傳輸業務上自定義的指令,接收方收到資料後,會産生透明通道資料回調,在回調函數裡面進行指令的解析,并進行對應的業務邏輯處理。

3、 隻能在目前房間内的任意兩個使用者間,或是向房間内的所有使用者廣播資料。便可以在兩個成功登入的使用者之間,用透明通道接口傳輸自定義的資料,每次傳輸資料的大小為1000位元組,如果自己在房間裡面,還可以利用透明通道向房間的所有使用者廣播資料。可使用擴充接口:BRAC_TransBuffer,具體如下。

4、DWORD BRAC_TransBuffer(DWORD dwUserid, LPBYTE lpBuf, DWORD dwLen);

功能:透明通道傳送緩沖區

傳回值:0表示成功,否則為出錯代碼

參數: 

dwUserid:目标使用者編号,-1表示大家(所有人),0表示向伺服器傳送資料

lpBuf:緩沖區

dwLen:緩沖區的大小(不超過1000位元組)

備注: 

可以利用該方法實作自定義功能,緩沖區采用透明傳輸,目标對象可以是大家,也可以是指定的對象。

該方法将會觸發對方的:透明通道資料回調函數。

當使用者進入房間成功之後,目标使用者(dwUserId)等于-1時表示向房間内的所有使用者廣播資料,如果沒有進入房間,則目标使用者不能為-1。

如果希望傳輸超過1000位元組的自定義資料塊,可通過BRAC_TransBufferEx接口來實作。

5、如果在房間中任意兩個使用者間需要傳輸大量的緩沖區資料,則可使用擴充接口:BRAC_TransBufferEx,SDK内部會自動完成對大緩沖區的分包、組包、校驗工作。

繼續閱讀