应用程序是否能控制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连接策略

应用程序是否能控制SDK的P2P连接?

时间: 2024-10-25 17:48:16

应用程序是否能控制SDK的P2P连接?的相关文章

一个程序猿可以控制多少行代码

 我认为大家初看到这个题目时,一定会非常奇怪,一个程序猿可以控制多少行代码全然取决于该程序猿的能力强弱,这有什么规律可循么?事实上当这个想法突然冒出来时,我也都有些诧异. 首先介绍一下我遇到的情况,我当时正在编写一个小程序,是模拟cache工作原理的.这个程序中有一个函数集的实现文件(function.cpp),大概由20个左右的函数组成,由main.cpp中的main函数直接去调用它们.这个文件我是从头開始一点一点码起来的,開始时都非常顺利,编写代码的速度也非常平稳.可是当我的代码达到60

新的特洛伊***程序SectopRAT用以控制浏览器会话

导读 最近,安全研究小组MalwareHunterTeam说,它发现了一个新的特洛伊***程序SectopRAT.该***可用于控制受感染计算机上的浏览器会话,更改浏览器配置以及禁用安全措施.新的特洛伊***程序SectopRAT用以控制浏览器会话新的特洛伊***程序SectopRAT用以控制浏览器会话 A signed (Sectigo) C# malware, got told possible called "1xxbot" sample: b1e3b5de12f785c45d5

如何设置AnyChat的P2P连接策略

自AnyChat Platform Core SDK V2.8.6版本开始,AnyChat SDK向上层应用开放了内核的P2P连接策略,可以让应用程序来干预内核的P2P连接,以满足各种场合下的应用需求. 设置P2P连接策略的典型代码如下: 1.DWORD dwP2PPolitic = 3; 2.BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC,(const char*)&dwP2PPolitic,sizeof(DWORD)); 目前开放的P2P连接策略包含

音视频通讯的P2P连接技术

在进行网络通信开发中,P2P技术大家都一定非常熟悉了,P2P是一种基于互联网环境的新的应用型技术.P2P 技术就是人可以直接连接到其他用户的计算机.交换文件,而不是像过去那样连接到服务器去浏览与下载.P2P另一个重要特点是改变互联网现在的以大网站为中心的状态.重返"非中心化",并把权力交还给用户.该技术.使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞.目前拥有先进的P2P技术是佰锐科技的AnyChat产

wpa_cli P2P 连接相关的调试命令

在最近的一次客户端上的调试p2p的wifi display, 他们中的一半Android该调整了,整个前所以没有太多的研究p2p过程连接, 客户现在使用的非Android平台架构. 需要协助客户这么多东西debug 之前debug wifi 连接时用到了wpa_cli 来协助调试连接.那p2p怎么去调试呢? 能够用wpa_cli协助调试吗? 查看了代码有了肯定的答案, 命令中有p2p_find , p2p_connect , p2p_stop_find ...非常多命令 那这些命令怎么使用呢?

wpa_cli P2P 连接相关调试命令

最近在一个客户那边调试基于p2p的wifi display, 一半都是在Android上去调这个,所以之前也没有过多研究整个p2p连接流程, 而客户现在用的是非Android平台架构, 很多东西需要协助客户debug 之前debug wifi 连接时用到了wpa_cli 来协助调试连接,那p2p怎么去调试呢? 可以用wpa_cli协助调试吗? 查看了代码有了肯定的答案, 命令中有p2p_find , p2p_connect , p2p_stop_find ...很多命令 那这些命令怎么使用呢?

程序流程的控制、数组和方法

本周主要3个点是程序流程控制 .数组和方法 程序流程控制主要是选择语句和循环语句:其中选择语句是分为 if语句 单分支.双分支.多分支:if语句中又可以嵌套if语句这就是if语句的嵌套格式为: if(条件1) {if(条件2){语句1} else{语句2} } else{ if(条件3){语句3} else{语句4} },  还有是switch语句格式switch(算数表达式){case 常量表达是式1: 语句块1:break; case常量表达式2:语句块2:break; default :语

Visual LISP 第3章 程序的流程控制盒AutoLISP文件(1)程序的流程控制

AutoLISP程序的流程通过流程控制函数控制. 1.分支结构 (1)(cond(测试表达式1 结果表达式1)[(测试表达式2 结果表达式2)]……) [例] 1 (setq n( cond((<= i 1) 1) 2 ((<= i 1) 1) 3 ((<= i 2) 4) 4 ((<= i 3) 10) 5 (t 100) 6 ) 7 ) 说明:该函数类似C语言中的switch语句.最后一个测试表达式"t(或T)"相当于"default",

Spring框架2:程序解耦和控制反转(IOC)

本系列笔记均是对b站教程https://www.bilibili.com/video/av47952931 的学习笔记,非本人原创 SpringMVC是表现层的框架,MyBatis是持久层框架 Spring是EE开发的一站式框架:有EE开发每一层的解决方案.以IOC(反转控制)和AOP(面向切面编程)为内核,同时提供了展现层Spring MVC赫尔持久层Spring JDBC等企业级应用技术,是使用最多的JAVA EE开源框架 WEB:SpringMVC Service:Bean管理,Sprin