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

  透明通道”顧名思義就是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內部會自動完成對大緩衝區的分包、組包、校驗工作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章