如何使用緩衝區及檔案傳輸功能?
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所開發的業務層伺服器。