“透明通道”顾名思义就是AnyChat SDK为上层应用提供的一个传输数据的通道,因为AnyChat SDK并不关心所传输的内容,即所传输的数据相对于SDK来讲是“透明”的,便称为“透明通道”。
须要工具:Anychat V4.6
方法:
一、 首先百度下载一个anychat安装包,并解压。
二、 上层应用能够利用SDK提供的透明通道来扩展业务,传输的内容没有限制,能够为任意数据类型缓冲区,单次传输大小限制为1000字节,如能够利用透明通道传输业务上自定义的指令,接收方收到数据后,会产生透明通道数据回调,在回调函数里面进行指令的解析,并进行对应的业务逻辑处理。
三、 只能在当前房间内的任意两个用户间,或是向房间内的全部用户广播数据。即可以在两个成功登陆的用户之间,用透明通道接口传输自定义的数据,每次传输数据的大小为1000字节,若是本身在房间里面,还能够利用透明通道向房间的全部用户广播数据。可以使用扩展接口:BRAC_TransBuffer,具体以下。
四、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=透明通道)
五、若是在房间中任意两个用户间须要传输大量的缓冲区数据,则可以使用扩展接口:BRAC_TransBufferEx,SDK内部会自动完成对大缓冲区的分包、组包、校验工做。 php