当前位置: 首页 > news >正文

整站优化案例如何用ps做网站标识

整站优化案例,如何用ps做网站标识,郑州网站优化_郑州网站推广_河南网站建设公司_seo外包顾问服务,网站底部备案号在WebRTC(Web Real-Time Communication)中,ICECandidate是一个关键概念,它用于描述在建立点对点(P2P)连接时可以考虑的潜在通信端点。以下是关于WebRTC中ICECandidate的详细解释: 一、ICECandidate的定义 ICECandidate对象通常包含以下关键属性: foundation:用于唯一…

在WebRTC(Web Real-Time Communication)中,ICECandidate是一个关键概念,它用于描述在建立点对点(P2P)连接时可以考虑的潜在通信端点。以下是关于WebRTC中ICECandidate的详细解释:

一、ICECandidate的定义

ICECandidate对象通常包含以下关键属性:

  • foundation:用于唯一标识候选者的基础信息,通常是基于候选者的类型、IP地址、协议和replay协议计算出的字符串。

  • component:标识候选者所属的传输组件。对于RTP流,通常使用1;对于RTCP流,通常使用2。

  • protocol:候选者使用的传输协议,通常是UDP,但也可以是TCP(尽管在WebRTC中UDP更为常见)。

  • priority:候选者的优先级,用于在选择最佳候选对时进行比较。优先级的计算公式考虑了候选类型优先级、本地优先级和组件ID。

  • address:候选者的IP地址。

  • port:候选者使用的端口号。

  • type:候选者的类型,包括host、srflx、prflx和relay四种,优先级依次由高到低。

    • host:直接连接到本地网络接口的地址,未经过NAT(Network Address Translation,网络地址转换)转换。
    • srflx(Server Reflexive):通过STUN(Session Traversal Utilities for NAT)服务器获得的NAT映射地址。
    • prflx(Peer Reflexive):在尝试与对等体建立连接时通过STUN响应动态发现的地址。
    • relay:通过TURN(Traversal Using Relays around NAT)服务器中继的地址,用于在对等体之间转发数据。
  • relatedAddress(可选):对于反射(srflx)和对等体反射(prflx)候选者,这是映射到候选者地址的内部IP地址和端口。

  • tcpType(可选):如果候选者使用TCP协议,则指定TCP类型(例如,active、passive、so)。

二、ICECandidate的作用

ICECandidate在WebRTC中主要用于收集、交换和测试潜在的通信端点,以便在复杂的网络环境中(如存在NAT或防火墙时)建立和优化点对点连接。

  • 收集候选者:WebRTC客户端会收集本地网络接口的地址(host候选者)、通过STUN服务器获得的NAT映射地址(srflx候选者)、以及通过TURN服务器获得的中继地址(relay候选者)。
  • 交换候选者:通过信令系统(如WebSocket、SIP等),WebRTC客户端会交换彼此收集到的候选者信息。
  • 测试候选对:WebRTC会使用STUN协议发送Binding请求来测试候选对之间的连通性。成功建立连接的候选对将被优先考虑用于传输媒体数据。

三、ICECandidate的优先级和选择

WebRTC在选择最佳路径来传输媒体数据时,会基于候选对的优先级和连通性测试结果进行决策。如果直接P2P连接无法建立,则可能会回退到使用TURN服务器进行中继。候选者的优先级计算公式考虑了多种因素,以确保在选择最佳路径时能够综合考虑各种条件。

整个流程如下:

 IceCandidate的生成发生在offer生成后,重点在:

void P2PTransportChannel::MaybeStartGathering() {RTC_DCHECK_RUN_ON(network_thread_);// TODO(bugs.webrtc.org/14605): ensure tie_breaker_ is set.if (ice_parameters_.ufrag.empty() || ice_parameters_.pwd.empty()) {RTC_LOG(LS_ERROR)<< "Cannot gather candidates because ICE parameters are empty"" ufrag: "<< ice_parameters_.ufrag << " pwd: " << ice_parameters_.pwd;return;}// Start gathering if we never started before, or if an ICE restart occurred.if (allocator_sessions_.empty() ||IceCredentialsChanged(allocator_sessions_.back()->ice_ufrag(),allocator_sessions_.back()->ice_pwd(),ice_parameters_.ufrag, ice_parameters_.pwd)) {if (gathering_state_ != kIceGatheringGathering) {gathering_state_ = kIceGatheringGathering;SignalGatheringState(this);}if (!allocator_sessions_.empty()) {IceRestartState state;if (writable()) {state = IceRestartState::CONNECTED;} else if (IsGettingPorts()) {state = IceRestartState::CONNECTING;} else {state = IceRestartState::DISCONNECTED;}RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.IceRestartState",static_cast<int>(state),static_cast<int>(IceRestartState::MAX_VALUE));}for (const auto& session : allocator_sessions_) {if (session->IsStopped()) {continue;}session->StopGettingPorts();}// Time for a new allocator.std::unique_ptr<PortAllocatorSession> pooled_session =allocator_->TakePooledSession(transport_name(), component(),ice_parameters_.ufrag,ice_parameters_.pwd);if (pooled_session) {pooled_session->set_ice_tiebreaker(tiebreaker_);AddAllocatorSession(std::move(pooled_session));PortAllocatorSession* raw_pooled_session =allocator_sessions_.back().get(
http://www.yayakq.cn/news/559171/

相关文章:

  • 网站首页设计排版要点wordpress页面发布后不显示
  • 徐州网站建设薇at57666y南宁网站seo公司哪家好
  • 网站建网站建站专业公司wordpress添加 下载文件
  • erp系统定制优化推广排名
  • 有没有免费注册域名的网站网站cms是什么意思
  • 望牛墩网站仿做专业的开发网站建设价格
  • 网站ui设计软件拉新项目官方一手平台
  • 做网站需要前台和后台吗怎么做网站外链接
  • 山东网站开发制作天津通用网站建设方案
  • 营销型企业网站建设步骤免费企业网站源码
  • 什么叫网站定位徐州煤棚网架公司
  • 网站的文件夹学动漫制作很烧钱吗
  • 产品摄影网站推荐我是站长网
  • 建设网站搞网络营销的总结群晖 docker wordpress
  • 网站官网域名要多少钱云服务器哪一家比较便宜
  • 一个域名可以做中英文两个网站吗cms网站地图模板
  • 网站后台程序开发昆明网站建设案例
  • 做暧暖爱视频网站柳州建设网栗园新居
  • 电子商务网站建设指导思想做网站要给ftp密码吗
  • 学做网站能找到工作么深圳市福田区656号
  • 做淘宝网站买个模版可以吗宁波关键词优化平台
  • 营销网站制作方案深圳网络营销运营
  • 建设网站的会计分录互联网广告代理
  • 河南省住房城乡与建设厅网站首页搭建集团网站
  • 大连网站的优化wordpress不能识别语言
  • 怎样建设网站赚钱金融行业做网站
  • 网站开发 自动生成缩略图电子商务网站运营方案
  • 百度蜘蛛对视频网站的抓取wordpress淘宝客模板修改教程
  • 北京网站建设课程培训班seosem推广
  • 用仿站工具做网站wordpress设置下拉菜单