zoukankan      html  css  js  c++  java
  • 应用程序是否能控制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连接策略

  • 相关阅读:
    BT656与BT1120的区别
    Arria10中PHY的时钟线结构
    Arria10中的IOPLL与fPLL
    Nios内部RAM固化配置
    实现1sym转换成2个sym送给CVI(VGA数据)
    embeded_2_separate_sync
    动态规划--青蛙跳
    动态规划 0--1 背包问题
    模拟题
    动态规划--最大子段和
  • 原文地址:https://www.cnblogs.com/megan812/p/3872454.html
Copyright © 2011-2022 走看看