什么是透明通道

上传人:kms****20 文档编号:40446339 上传时间:2018-05-26 格式:DOC 页数:2 大小:26KB
返回 下载 相关 举报
什么是透明通道_第1页
第1页 / 共2页
什么是透明通道_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《什么是透明通道》由会员分享,可在线阅读,更多相关《什么是透明通道(2页珍藏版)》请在金锄头文库上搜索。

1、什么是透明通道,如何使用?什么是透明通道,如何使用?“透明通道”顾名思义就是 AnyChat SDK 为上层应用提供的一个传输数据的通道,由于 AnyChat SDK 并不关心所传输的内容,即所传输的数据相对于 SDK 来说是“透明”的,便称 为“透明通道”。上层应用可以利用 SDK 提供的透明通道来扩展业务,传输的内容没有限制,可以为任意数 据类型缓冲区,单次传输大小限制为 1000 字节,如可以利用透明通道传输业务上自定义的 指令,接收方收到数据后,会产生透明通道数据回调,在回调函数里面进行指令的解析, 并进行对应的业务逻辑处理。V2.8.7 之前的版本,只能在当前房间内的任意两个用户间,

2、或是向房间内的所有用户广播 数据。自 2.8.7 版本开始,便可以在两个成功登录的用户之间,用透明通道接口传输自定义的数据, 每次传输数据的大小为 1000 字节,如果自己在房间里面,还可以利用透明通道向房间的所 有用户广播数据,详细信息可参考:41. BRAC_TransBuffer如果在房间中任意两个用户间需要传输大量的缓冲区数据,则可使用扩展接口:42. BRAC_TransBufferEx,SDK 内部会自动完成对大缓冲区的分包、组包、校验工作。透明通道数据回调函数透明通道数据回调函数typedef void (CALLBACK * BRAC_TransBuffer_CallBack)

3、(DWORD dwUserid, LPBYTE lpBuf, DWORD dwLen, LPVOID lpUserValue); 参数: dwUserid:用户 ID,指示发送用户 lpBuf:缓冲区地址 dwLen:缓冲区大小 lpUserValue:用户自定义参数,在设置回调函数时传入备注:当收到其它用户使用“41. BRAC_TransBuffer”方法发送的数据时,接收方将会触发该回 调函数。由于该函数传递的数据是一个与本 SDK 无关的缓冲区(由上层应用自己填充内容) , 相对于本 SDK 来说是透明的,故称为透明通道,利用该通道,可以向当前房间内的任何用 户传输上层应用自定义的数据

4、。什么是回调函数及其主要用途?什么是回调函数及其主要用途?一、什么回调函数 简单的说回调函数就是函数指针的一种用法,当发生某种事件时,系统或其他函数将会自 动调用你定义的一段函数。 从另一个角度来看问题,如果把函数分层的话,上层调下层的叫“调用”,下层调上层的叫“回调”。 使用回调函数实际上就是在调用某个函数(通常是 API 函数)时,将自己的一个函数(这 个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传 递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操 作。至于如何定义回调函数,跟具体使用的 API 函数有关,一般在帮助中有说明回调

5、函数 的参数和返回值等。C+中一般要求在回调函数前加 CALLBACK(相当于 FAR PASCAL) ,这主要是说明该函数的调用方式。也可以这样,更容易理解:回调函数就好像是一个中断处理函数,系统在符合你设定的条 件时自动调用。为此,你需要做三件事: 1、声明; 2、定义; 3、设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便 于底层系统调用。 二、回调函数的作用 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是 存在一个具有某种特定原型、某些限制条件(如返回值为 int)的被调用函数。在 AnyChat Platform Core SDK 中我们较多的应用了回调函数接口,其主要目的便是实现 AnyChat SDK 的灵活性、可定制性以及通用性等特性。在回调函数使用过程中遇到疑问, 可参考我们 SDK 包中提供的 Demo 程序源代码,里面有回调函数非常详细的声明、定义以 及使用的代码。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号