首页 > 代码库 > 动态缓冲实现网络数据传输功能

动态缓冲实现网络数据传输功能

AnyChat具有缓冲区及文件传输功能,可以实现客户端与客户端之间的缓冲区和文件传输,也可以实现客户端与服务器之间的缓冲区和文件传输功能(V4.1版本新增功能)。

 

AnyChat客户端之间的缓冲区及文件传输通道有:

1、透明通道API接口:BRAC_TransBuffer

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

3、文件传输API接口:BRAC_TransFile

 

AnyChat客户端与服务器之间的缓冲区及文件传输通道有:

1SDKFilter 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向客户端发送数据时,将触发客户端的回调函数: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所开发的业务层服务器。

动态缓冲实现网络数据传输功能