音視頻應用開發的透明通道解析

「透明通道」顧名思義就是AnyChat SDK爲上層應用提供的一個傳輸數據的通道,因爲AnyChat SDK並不關心所傳輸的內容,即所傳輸的數據相對於SDK來講是「透明」的,便稱爲「透明通道」。
須要工具:Anychat V4.6
方法:
一、 首先百度下載一個anychat安裝包,並解壓。
二、  上層應用能夠利用SDK提供的透明通道來擴展業務,傳輸的內容沒有限制,能夠爲任意數據類型緩衝區,單次傳輸大小限制爲1000字節,如能夠利用透明通道傳輸業務上自定義的指令,接收方收到數據後,會產生透明通道數據回調,在回調函數裏面進行指令的解析,並進行對應的業務邏輯處理。
三、  只能在當前房間內的任意兩個用戶間,或是向房間內的全部用戶廣播數據。即可以在兩個成功登陸的用戶之間,用透明通道接口傳輸自定義的數據,每次傳輸數據的大小爲1000字節,若是本身在房間裏面,還能夠利用透明通道向房間的全部用戶廣播數據。可以使用擴展接口:BRAC_TransBuffer,具體以下。
四、DWORD BRAC_TransBuffer(DWORD dwUserid, LPBYTE lpBuf, DWORD dwLen);
功能:透明通道傳送緩衝區
返回值:0表示成功,不然爲出錯代碼
參數:
dwUserid:目標用戶編號,-1表示你們(全部人),0表示向服務器傳送數據
lpBuf:緩衝區
dwLen:緩衝區的大小(不超過1000字節)
備註:
能夠利用該方法實現自定義功能,緩衝區採用透明傳輸,目標對象能夠是你們,也能夠是指定的對象。
該方法將會觸發對方的:透明通道數據回調函數。
當用戶進入房間成功以後,目標用戶(dwUserId)等於-1時表示向房間內的全部用戶廣播數據,若是沒有進入房間,則目標用戶不能爲-1。
若是但願傳輸超過1000字節的自定義數據塊,可經過BRAC_TransBufferEx接口來實現。(可參考http://www.anychat.cn/faq/index.php?action=artikel&cat=2&id=189&artlang=zh&highlight=透明通道)
五、若是在房間中任意兩個用戶間須要傳輸大量的緩衝區數據,則可以使用擴展接口:BRAC_TransBufferEx,SDK內部會自動完成對大緩衝區的分包、組包、校驗工做。 php

相關文章
相關標籤/搜索