何使用缓冲区及文件传输功能

如何使用缓冲区及文件传输功能?

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

 

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

1、透明通道API接口:BRAC_TransBuffer

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

3、文件传输API接口:BRAC_TransFile

 

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

1、SDK Filter Data API接口:BRAC_SendSDKFilterDataBRAS_SendBufToUserBRAS_SendBufToRoom

2、透明通道API接口:BRAC_TransBufferBRAS_TransBuffer

3、透明通道扩展API接口:BRAC_TransBufferExBRAS_TransBufferEx

4、文件传输API接口:BRAC_TransFileBRAS_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_SendBufToUserBRAS_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所开发的业务层服务器。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 刷新缓冲区函数通常是用来将内存中的数据写入到文件中,以确保数据的持久化。在执行刷新缓冲区操作之前,缓冲区中的数据只存在于内存中,如果程序意外终止或者操作系统崩溃等异常情况发生,那么缓冲区中的数据就会丢失。 因此,为了避免数据丢失的情况发生,刷新缓冲区函数通常会在将缓冲区中的数据写入文件之前,先将文件进行保存。这样即使在写入文件的过程中出现异常情况,也可以通过读取保存的文件来恢复之前的数据。 ### 回答2: 刷新缓冲区函数是用来将缓冲区中的数据写入到文件或设备中的函数,它的作用是将缓冲区中的内容更新到文件或设备中,确保数据的一致性和完整性。 在使用缓冲区进行文件操作时,为了提高效率,文件系统一般会采用缓冲区来进行数据的读写。通常,文件中的数据首先会被读取到内存中的缓冲区,然后在内存中进行处理,最后再将更新后的数据写回到文件中。这样可以减少对文件的频繁读写,提高了文件操作的效率。 而刷新缓冲区函数的作用正是将内存中缓冲区的数据写回到文件中,以确保文件中的数据与内存中的数据保持一致。在某些情况下,如果不及时将缓冲区的数据写入到文件中,可能会导致数据丢失或不一致的问题,而刷新缓冲区函数可以解决这个问题。 此外,刷新缓冲区函数还可以用来保存文件。当我们在进行文件写入操作时,如果没有显式地调用刷新缓冲区函数,数据可能会保留在缓冲区中而没有写入到文件中。这时,如果程序异常终止或者关闭文件时没有正确刷新缓冲区,之前的写入操作可能会丢失。因此,为了保证数据的完整性,我们需要在适当的时机调用刷新缓冲区函数,将数据写入到文件中并确保文件的更新。 总之,刷新缓冲区函数具有保存文件的功能,是为了保证文件数据的一致性和完整性,在文件写入操作完成后及时将缓冲区的数据写入到文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值