如何使用緩衝區及文件傳輸功能?
AnyChat具有緩衝區及文件傳輸功能,可以實現客戶端與客戶端之間的緩衝區和文件傳輸,也可以實現客戶端與服務器之間的緩衝區和文件傳輸功能(V4.1版本新增功能)。
AnyChat客戶端之間的緩衝區及文件傳輸通道有:
1、透明通道API接口:BRAC_TransBuffer;
2、透明通道擴展API接口:BRAC_TransBufferEx;
3、文件傳輸API接口:BRAC_TransFile;
AnyChat客戶端與服務器之間的緩衝區及文件傳輸通道有:
1、SDK Filter Data API接口:BRAC_SendSDKFilterData、BRAS_SendBufToUser、BRAS_SendBufToRoom;
2、透明通道API接口:BRAC_TransBuffer、BRAS_TransBuffer;
3、透明通道擴展API接口:BRAC_TransBufferEx、BRAS_TransBufferEx;
4、文件傳輸API接口:BRAC_TransFile、BRAS_TransFile;
一、客戶端之間使用透明通道傳輸數據
A、B兩用戶登錄服務器成功之後,便可使用透明通道API接口傳輸數據,當A使用API接口:BRAC_TransBuffer向B發送數據時,B收到數據後,將觸發B的回調函數:透明通道數據回調函數(參考:BRAC_SetTransBufferCallBack)。
內核使用TCP通道傳輸,保證接收方收到的順序與發送的順序相同,且保證數據可達,不會丟包;
二、客戶端之間使用透明通道擴展傳輸數據
A、B兩用戶登錄服務器成功之後,便可使用透明通道擴展API接口傳輸數據,當A使用API接口:BRAC_TransBufferEx向B發送數據時,B收到數據後,將觸發B的回調函數:透明通道數據擴展回調函數(參考:BRAC_SetTransBufferExCallBack)。
內核使用UDP通道傳輸,不保證接收方收到的順序與發送順序相同,但是保證數據可達,丟包自動重傳;
三、客戶端之間傳輸文件
A、B兩用戶登錄服務器成功之後,便可使用文件傳輸API接口傳送文件,當A使用API接口:BRAC_TransFile向B發送文件時,B收到文件後,將觸發B的回調函數:文件傳輸回調函數(參考:BRAC_SetTransFileCallBack)
內核使用UDP通道傳輸,不保證接收方收到的順序與發送順序相同,但是保證數據可達,丟包自動重傳;
四、客戶端與服務器之間傳輸緩衝區數據(SDK Filter Data接口)
客戶端A登錄服務器成功之後,便可使用SDK Filter Data接口傳輸數據
1、當客戶端使用API接口:BRAC_SendSDKFilterData向服務器發送數據時,將觸發服務器的回調函數:上層業務自定義數據回調函數定義(參考:BRAS_SetOnRecvUserFilterDataCallBack)
2、當服務器使用API接口:BRAS_SendBufToUser、BRAS_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所開發的業務層服務器。