**1.2.1、透明通道传数据的功能作用**
AnyChat具有缓冲区功能,可以实现客户端与客户端之间的缓冲区功能,也可以实现客户端与服务器之间的缓冲区功能。
AnyChat客户端之间的缓冲区通道接口有:
(1)透明通道API接口:BRAC_TransBuffer
(2)透明通道扩展API接口:BRAC_TransBufferEx
AnyChat客户端与服务器之间的缓冲区通道接口有:
(1)透明通道API接口:BRAC_TransBuffer
(2)透明通道扩展API接口:BRAC_TransBufferEx
(3)SDK Filter Data API接口:BRAS_SendBufToUser,BRAS_SendBufToRoom
**1.2.2、客户端之间使用透明通道传输数据**
A、B两用户登录服务器成功之后,便可使用透明通道API接口传输数据,当A使用API接口:BRAC_TransBuffer向B发送数据时,B收到数据后,将触发B的回调函数:透明通道数据回调函数(参考:BRAC_SetTransBufferCallBack)。
内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;
**1.2.3、客户端之间使用透明通道扩展传输数据**
A、B两用户登录服务器成功之后,便可使用透明通道扩展API接口传输数据,当A使用API接口:BRAC_TransBufferEx向B发送数据时,B收到数据后,将触发B的回调函数:透明通道数据扩展回调函数(参考:BRAC_SetTransBufferExCallBack)。
**1.2.4、客户端与服务器之间传输缓冲区数据(SDK Filter Data接口)**
客户端A登录服务器成功之后,便可使用SDK Filter Data接口传输数据
(1)、当客户端使用API接口:BRAC_SendSDKFilterData向服务器发送数据时,将触发服务器的回调函数:上层业务自定义数据回调函数定义(参考: BRAS_SetOnRecvUserFilterDataCallBack)
(2)、当服务器使用API接口:BRAS_SendBufToUser、BRAS_SendBufToRoom向客户端发送数据时,将触发客户端的回调函数:SDK Filter通信数据回调函数(参考:BRAC_SetSDKFilterDataCallBack)
内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;
**1.2.5、客户端与服务器之间传输缓冲区数据(透明通道接口)**
客户端A登录服务器成功之后,便可使用透明通道接口与服务器传输数据
(1)、当客户端使用API接口:BRAC_TransBuffer向服务器发送数据时,将触发服务器的回调函数:透明通道数据回调函数(参考:BRAS_SetTransBufferCallBack)
(2)、当服务器使用API接口:BRAS_TransBuffer向客户端发送数据时,将触发客户端的回调函数:透明通道数据回调函数;
内核使用TCP通道传输,保证接收方收到的顺序与发送的顺序相同,且保证数据可达,不会丢包;
**(注:SDK Filter Data接口和透明通道接口效率相同,透明通道接口主要是为了兼容客户端API而设计的,为V4.1版本服务器新增接口,需要注意的是两者所对应的回调函数是不同的)**
**1.2.6、客户端与服务器之间使用扩展缓冲区通道传输数据**
客户端A登录服务器成功之后,便可使用扩展缓冲区通道与服务器传输数据
(1)当客户端使用API接口:BRAC_TransBufferEx向服务器发送数据时,将触发服务器的回调函数:透明通道数据扩展回调函数(参考: BRAS_SetTransBufferExCallBack)
(2)当服务器使用API接口:BRAS_TransBufferEx向客户端发送数据时,客户端收到数据后,将触发客户端的回调函数:透明通道数据扩展回调函数(参考:BRAC_SetTransBufferExCallBack)。
内核使用UDP通道传输,不保证接收方收到的顺序与发送顺序相同,但是保证数据可达,丢包自动重传;
**注:上文所提及的“服务器”是指采用AnyChat Server SDK所开发的业务层服务器。**