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

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

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

1、透明通道API接口:BRAC_TransBuffer

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

3、文件传输API接口:BRAC_TransFile

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

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

时间: 2024-11-06 23:54:57

动态缓冲实现网络数据传输功能的相关文章

linux网络数据传输的加密,解密以及基于openssl的私有CA的建立

网络数据传输的安全性是计算机通信领域的重要课题,数据加密就是保证数据安全性的主要方法.所谓数据加密,即是通过某种算法和秘钥对数据明文进行处理,从而得到密文的过程.计算机网络通信过程中的加密形式主要有以下几种: 1,对称加密,用同一个密钥对信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密.对称加密算法的优点是算法公开.计算量小.加密速度快.加密效率高,但秘钥有时会很多,难以管理.而且秘钥交换又是一个难以解决的问题. 常见算法: DES:Data Encryption Standard,

Android KitKat 4.4 Wifi移植之AP模式与网络共享功能调试记录

Tethering技术在移动平台上已经运用的越来越广泛了,它可以把移动设备当做一个接入点,其它的设备可以通过Wi-Fi,USB或是Bluetooth等方式连接到此移动设备.在Android中可以将Wifi设为AP模式作为WLAN接入点,从而与其他设备共享Android的互联网连接.Android成为接入点后,就无法通过WLAN连接使用Android的应用程序访问互联网,但可以通过其他方式如以太网或移动网络访问互联网.此时以太网或移动网络在网络共享(Tethering)中是作为upstream的角

三种网络数据传输方式比较(byte stream,protobuf,json)

三种网络数据传输方式比较(byte stream,protobuf,json) 2014-08-27 10:39:04 分类: LINUX 原文地址:三种网络数据传输方式比较(byte stream,protobuf,json) 作者:yuyunliuhen 针对于tinynet进行了三种数据传输方式的测试,包括最初的byte stream,protobuf,以及比较流行json方式.跟之前的几次测试一样,模型为echo模型,都是以epoll为例,每个连接每秒发送10个包,每个数据包约100by

记一个网络传输功能的实现过程

写在前面的话:功能是基于C/S模型的网络传输实现,要求是服务器端可以在局域网中任何机子上运行,客户端启动后自动寻找服务器端进行连接,之后,服务器端向已经连接的客户端发送命令,客户端根据命令执行相应的操作(即发送某个约定文件夹下的所有文件),并且客户端不需要用户操作. 1.思路 首先,对于这个功能的实现思路如下,因为服务器不确定在哪个机子上,所以为了寻找到服务器端,客户端需要发送广播消息,并且为了维护客户端在线,广播消息需要实现成心跳包(即定时发送广播消息).服务器监听心跳包,如果是新加入的客户端

邮件系统网络硬盘功能

1. 什么是网络硬盘? 使您拥有完全私人的.安全的因特网络存贮空间.通过网络硬盘,您可以将各种个人文件存放在互联网上,并具有和本地硬盘一样的文件操作,如删除.复制.移动.查找等.网络硬盘方便“携带”.内容易于修改.安全可靠,并容易与其他同事分享图片以及其他文件.网络硬盘就如一个网络移动硬盘,用户将需要的文件存放在网络硬盘中,只要有网络,无论身处何方,随时随地都可以取出来尽其所用.个人文件的存贮.修改.管理.共享.发送,一切都可在 Web 上轻松解决. TurboMail邮箱提供公共网络硬盘.域网

zabbix-基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案

http://www.zabbix.com/ abbix(音同 z?bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix agent. zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,

CentOS 6.5 网络服务器功能的实现①:运用bind搭建基本的DNS服务器

何谓DNS服务?简而言之,DNS服务在互联网中可以实现域名解析(把域名转换成网络可以识别的IP地址). 名词解释①:正向解析:域名解析IP地址:反向解析:IP地址解析域名. DNS服务的正/反向区域解析文档大部分是靠手打出来的,但我们不必惧怕,毕竟在这里我们还是能摸索出一些窍门的. 注意:防火墙和SELinux都会对DNS服务器有一定的影响,为避免不必要的麻烦,在做实验时建议搭建DNS服务器之前,应把防火墙和SELinux关闭. [情景实例] 配置一个常规DNS服务器 ①搭建一台DNS服务器,为

iOS开发 - 网络&数据库功能综述

学习经验尚浅,以前iOS开发一直停留在单机版的开发,但是现在如果一个移动端开发完全抛弃网络功能,它也不会存在很久.网上讲的关于iOS的网络部分都比较专一,这两天经过融合和总结,大致摸索出了一套整体流程,在此和对网络连接不甚明了的同学分享,本文不涉及技术层面,只是概念的串通. 前提注:如果你真的只是开发一个单机版app也或者公司已经将网络数据封装好给你个接口or XML格式等文件用而且也不想知道的话就请华丽丽地忽视我吧. 一.前提概览 首先,要考虑app所在的大环境是个什么级别的环境,我大致将环境

网络数据传输的P2P流媒体技术

随着我国计算机网络的飞速发展,网络视音频技术得到了广泛的应用.现今人们已经从传统的娱乐方式(例如:收音机,电视)向网络互动媒体娱乐方式转变,而流媒体视频点播技术更是满足了人们这种互动式娱乐的需求.但因我国网络基础和服务器能力的制约,较大容量的用户服务仍是限制流媒体视频技术发展的一个瓶颈,如果采用P2P技术与传统流媒体技术相结合,就可以避免大量用户服务的瓶颈,这不仅减轻了服务器的负担,同时也提高了网络资源的利用率. P2P视频点播技术是利用分布式的思想把用户的资源进行分类,这不同于一般的应用层多播