何使用緩衝區及文件傳輸功能

如何使用緩衝區及文件傳輸功能?

AnyChat具有緩衝區及文件傳輸功能,可以實現客戶端與客戶端之間的緩衝區和文件傳輸,也可以實現客戶端與服務器之間的緩衝區和文件傳輸功能(V4.1版本新增功能)。


AnyChat客戶端之間的緩衝區及文件傳輸通道有:

1、透明通道API接口:BRAC_TransBuffer

2、透明通道擴展API接口:BRAC_TransBufferEx

3、文件傳輸API接口:BRAC_TransFile


AnyChat客戶端與服務器之間的緩衝區及文件傳輸通道有:

1SDK Filter Data API接口:BRAC_SendSDKFilterDataBRAS_SendBufToUserBRAS_SendBufToRoom

2、透明通道API接口:BRAC_TransBufferBRAS_TransBuffer

3、透明通道擴展API接口:BRAC_TransBufferExBRAS_TransBufferEx

4、文件傳輸API接口:BRAC_TransFileBRAS_TransFile


一、客戶端之間使用透明通道傳輸數據


AB兩用戶登錄服務器成功之後,便可使用透明通道API接口傳輸數據,當A使用API接口:BRAC_TransBufferB發送數據時,B收到數據後,將觸發B的回調函數:透明通道數據回調函數(參考:BRAC_SetTransBufferCallBack)。

內核使用TCP通道傳輸,保證接收方收到的順序與發送的順序相同,且保證數據可達,不會丟包;


二、客戶端之間使用透明通道擴展傳輸數據


AB兩用戶登錄服務器成功之後,便可使用透明通道擴展API接口傳輸數據,當A使用API接口:BRAC_TransBufferExB發送數據時,B收到數據後,將觸發B的回調函數:透明通道數據擴展回調函數(參考:BRAC_SetTransBufferExCallBack)。

內核使用UDP通道傳輸,不保證接收方收到的順序與發送順序相同,但是保證數據可達,丟包自動重傳;


三、客戶端之間傳輸文件


AB兩用戶登錄服務器成功之後,便可使用文件傳輸API接口傳送文件,當A使用API接口:BRAC_TransFileB發送文件時,B收到文件後,將觸發B的回調函數:文件傳輸回調函數(參考:BRAC_SetTransFileCallBack

內核使用UDP通道傳輸,不保證接收方收到的順序與發送順序相同,但是保證數據可達,丟包自動重傳;


四、客戶端與服務器之間傳輸緩衝區數據(SDK Filter Data接口)


客戶端A登錄服務器成功之後,便可使用SDK Filter Data接口傳輸數據

1、當客戶端使用API接口:BRAC_SendSDKFilterData向服務器發送數據時,將觸發服務器的回調函數:上層業務自定義數據回調函數定義(參考:BRAS_SetOnRecvUserFilterDataCallBack

2、當服務器使用API接口:BRAS_SendBufToUserBRAS_SendBufToRoom向客戶端發送數據時,將觸發客戶端的回調函數:SDKFilter通信數據回調函數(參考:BRAC_SetSDKFilterDataCallBack

內核使用TCP通道傳輸,保證接收方收到的順序與發送的順序相同,且保證數據可達,不會丟包;


五、客戶端與服務器之間傳輸緩衝區數據(透明通道接口)


客戶端A登錄服務器成功之後,便可使用透明通道接口與服務器傳輸數據

1、當客戶端使用API接口:BRAC_TransBuffer向服務器發送數據時,將觸發服務器的回調函數:透明通道數據回調函數

(參考:BRAS_SetTransBufferCallBack

2、當服務器使用API接口:BRAS_TransBuffer向客戶端發送數據時,將觸發客戶端的回調函數:透明通道數據回調函數

內核使用TCP通道傳輸,保證接收方收到的順序與發送的順序相同,且保證數據可達,不會丟包;

(注:SDK FilterData接口和透明通道接口效率相同,透明通道接口主要是爲了兼容客戶端API而設計的,爲V4.1版本服務器新增接口,需要注意的是兩者所對應的回調函數是不同的)


六、客戶端與服務器之間使用擴展緩衝區通道傳輸數據


客戶端A登錄服務器成功之後,便可使用擴展緩衝區通道與服務器傳輸數據

1、當客戶端使用API接口:BRAC_TransBufferEx向服務器發送數據時,將觸發服務器的回調函數:透明通道數據擴展回調函數(參考: BRAS_SetTransBufferExCallBack

2、當服務器使用API接口:BRAS_TransBufferEx向客戶端發送數據時,客戶端收到數據後,將觸發客戶端的回調函數:透明通道數據擴展回調函數(參考:BRAC_SetTransBufferExCallBack)。

內核使用UDP通道傳輸,不保證接收方收到的順序與發送順序相同,但是保證數據可達,丟包自動重傳;


七、客戶端與服務器之間傳輸文件


客戶端A登錄服務器成功之後,便可使用文件傳輸接口與服務器傳輸文件

1、當客戶端A使用API接口:BRAC_TransFile向服務器發送文件時,服務器收到文件後,將觸發服務器端的回調函數:文件傳輸回調函數(參考: BRAS_SetTransFileCallBack);

2、當服務器使用API接口:BRAS_TransFile向客戶端發送文件時,客戶端收到文件數據後,將觸發客戶端的回調函數:文件傳輸回調函數(參考:BRAC_SetTransFileCallBack);

內核使用UDP通道傳輸,不保證接收方收到的順序與發送順序相同,但是保證數據可達,丟包自動重傳;


注:上文所提及的服務器是指採用AnyChat Server SDK所開發的業務層服務器。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章