首页 > 代码库 > 视频开发技术之文件传输

视频开发技术之文件传输

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向客户端发送数据时,将触发客户端的回调函数:SDK Filter通信数据回调函数(参考:BRAC_SetSDKFilterDataCallBack)

内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;

 

五、客户端与服务器之间传输缓冲区数据(透明通道接口)

 

客户端A登录服务器成功之后,便可使用透明通道接口与服务器传输数据

1、当客户端使用API接口:BRAC_TransBuffer向服务器发送数据时,将触发服务器的回调函数:透明通道数据回调函数

(参考:BRAS_SetTransBufferCallBack)

2、当服务器使用API接口:BRAS_TransBuffer向客户端发送数据时,将触发客户端的回调函数:透明通道数据回调函数;

内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;

(注:SDK Filter Data接口和透明通道接口效率相同,透明通道接口主要是为了兼容客户端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所开发的业务层服务器。