音视频应用开发的透明通道解析

“透明通道”顾名思义就是AnyChat SDK为上层应用提供的一个传输数据的通道,由于AnyChat SDK并不关心所传输的内容,即所传输的数据相对于SDK来说是“透明”的,便称为“透明通道”。
需要工具:Anychat V4.6
方法:
1、 首先百度下载一个anychat安装包,并解压。
2、  上层应用可以利用SDK提供的透明通道来扩展业务,传输的内容没有限制,可以为任意数据类型缓冲区,单次传输大小限制为1000字节,如可以利用透明通道传输业务上自定义的指令,接收方收到数据后,会产生透明通道数据回调,在回调函数里面进行指令的解析,并进行对应的业务逻辑处理。
3、  只能在当前房间内的任意两个用户间,或是向房间内的所有用户广播数据。便可以在两个成功登录的用户之间,用透明通道接口传输自定义的数据,每次传输数据的大小为1000字节,如果自己在房间里面,还可以利用透明通道向房间的所有用户广播数据。可使用扩展接口:BRAC_TransBuffer,具体如下。
4、DWORD BRAC_TransBuffer(DWORD dwUserid, LPBYTE lpBuf, DWORD dwLen);
功能:透明通道传送缓冲区
返回值:0表示成功,否则为出错代码
参数:
dwUserid:目标用户编号,-1表示大家(所有人),0表示向服务器传送数据
lpBuf:缓冲区
dwLen:缓冲区的大小(不超过1000字节)
备注:
可以利用该方法实现自定义功能,缓冲区采用透明传输,目标对象可以是大家,也可以是指定的对象。
该方法将会触发对方的:透明通道数据回调函数。
当用户进入房间成功之后,目标用户(dwUserId)等于-1时表示向房间内的所有用户广播数据,如果没有进入房间,则目标用户不能为-1。
如果希望传输超过1000字节的自定义数据块,可通过BRAC_TransBufferEx接口来实现。(可参考http://www.anychat.cn/faq/index.php?action=artikel&cat=2&id=189&artlang=zh&highlight=透明通道)
5、如果在房间中任意两个用户间需要传输大量的缓冲区数据,则可使用扩展接口:BRAC_TransBufferEx,SDK内部会自动完成对大缓冲区的分包、组包、校验工作。

 

 

你可能感兴趣的:(音视频开发)