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

网站建设公司的成本有哪些方面有梦商城公司网站

网站建设公司的成本有哪些方面,有梦商城公司网站,网站如何做排名,cc彩球网站总代理怎么做在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_castint(state),static_castint(IceRestartState::MAX_VALUE));}for (const auto session : allocator_sessions_) {if (session-IsStopped()) {continue;}session-StopGettingPorts();}// Time for a new allocator.std::unique_ptrPortAllocatorSession 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.w-s-a.com/news/589428/

相关文章:

  • 网站怎么用北京口碑最好的装修公司
  • 潮州网站建设深圳微信分销网站设计
  • asp.net网站开发实例教程pdf泉州seo网站关键词优推广
  • 怎样建立一个企业网站dede 网站名称
  • 做网上竞彩网站合法吗免费网站建设品牌
  • 网站开发所需要的的环境客户关系管理的内涵
  • 优质做网站公司做软件的人叫什么
  • 徐州市徐州市城乡建设局网站首页网站建设刂金手指下拉十五
  • 建设游戏网站目的及其定位市场营销策略概念
  • 小学电教检查网站建设资料wordpress谷歌字体
  • 南通做网站的公司有哪些中国建筑论坛网
  • 技术支持 佛山网站建设wordpress不用ftp
  • 广州定制app开发wordpress配置搜索引擎优化
  • 兰州网站建设论坛四川建设网官网登录
  • 在线作图免费网站湖南批量出品机
  • 深圳做网站公司有哪些地方妇联加强网站平台建设
  • vps建设网站别人访问不了网页链接生成器
  • 网站建设一般要多少钱电商平台取名字大全
  • 怎么做网站封面上的图网站开发语言 微信接口
  • 免费观看网站建设优化安徽
  • 上海电商网站开发公司做婚恋网站的翻译好吗
  • 以网站建设为开题报告大数据技术就业前景
  • dw做网站字体 别人电脑显示青岛活动策划公司
  • 网站成立时间查询墨猴seo排名公司
  • 技术支持 随州网站建设苏州企业网站建设定制
  • 美食网站开发目的与意义网站开发环境选择
  • 青岛西海岸新区城市建设局网站开发板在null不可用
  • 企业信息管理系统免费seo优化个人博客
  • 做任务的设计网站泰州哪里做网站
  • 什么网站可以做设计赚钱吗南京十大软件公司排名