首页 > 代码库 > 应用程序是否能控制SDK的P2P连接?
应用程序是否能控制SDK的P2P连接?
可以。自“AnyChat Platform Core SDK V2.8”版本开始,新增了P2P连接控制接口,之前的AnyChat SDK客户端优先P2P网络传输,其次是走服务器转发模式(P2P不通时),具体使用何种处理模式由SDK内部决定,上层应用无法干预,V2.8版本新增的数据流传输方式控制接口,可以实现由上层应用来控制客户端是P2P网络传输,还是服务器转发模式,以满足上层应用的特殊应用需求。
可以动态进行连接方式更改,向上层返回P2P连接状态(参考:P2P连接状态变化消息),并且可由上层查询与指定用户的P2P连接状态(参考:BRAC_QueryUserState)。
如果需要禁示本地用户的P2P(不主动与其它用户建立P2P连接,也不接收其它用户的P2P连接请求),典型的示例代码如下:
1.
// 将P2P策略设置为禁止模式
2.
DWORD
dwP2PPolitic = 0;
3.
BRAC_SetSDKOption(BRAC_SO_NETWOK_P2PPOLITIC,(
const
char
*)&dwP2PPolitic,
sizeof
(
DWORD
));
禁止本地用户的P2P连接之后,所有数据均由服务器转发。
SDK默认的P2P连接模式是“服务器控制模式”(该模式下优先P2P数据传输,P2P不通时走服务器转发),如要恢复为默认的P2P连接模式,典型的示例代码如下:
1.
// 将P2P策略设置为服务器控制模式
2.
DWORD
dwP2PPolitic = 1;
3.
BRAC_SetSDKOption(BRAC_SO_NETWOK_P2PPOLITIC,(
const
char
*)&dwP2PPolitic,
sizeof
(
DWORD
));
关于P2P连接策略更详细的信息可参考:如何设置AnyChat的P2P连接策略
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。