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

自己做网站nas建设工程教育网官方网站

自己做网站nas,建设工程教育网官方网站,网页设计作业唐诗宋词代码,烟台艺术学校官网ICE 当我们想要实现在公网环境下的语音/视频通话功能时#xff0c;就需要用到ICE交互式连接建立。ICE不是一种协议#xff0c;整合了 STUN 和 TURN 两种协议#xff08;用于 NAT 穿透#xff09;的框架。 ICE的主要目标是解决NAT#xff08;网络地址转换#xff09;穿越…ICE 当我们想要实现在公网环境下的语音/视频通话功能时就需要用到ICE交互式连接建立。ICE不是一种协议整合了 STUN 和 TURN 两种协议用于 NAT 穿透的框架。 ICE的主要目标是解决NAT网络地址转换穿越问题使得即使在复杂的网络环境下如防火墙和NAT路由器后面两个对等体也能够发现彼此并建立连接。 ICE的操作过程如下 收集 Candidate交换 Cadidate按优先级尝试连接 Candidate 在WebRTC中Candidate候选 是指用于在两个对等体peers之间建立连接的所有可能的网络地址和传输方式。这些候选包括了本地IP地址、端口号以及可能需要的中继服务器信息。候选的目的是提供一个或多个路径以便在因网络限制如NAT、防火墙而无法直接连接的请款下仍能够建立通信。 STUN STUN是一种网络协议主要目的是解决因NAT网络地址转换导致的端到端直接通信问题。STUN提供了一种方法允许位于NAT后面的设备发现他们在公共互连网上的IP地址和端口号以及NAT设备的类型。这样这些设备可以被其他互连网上的设备发现和链接。 简单点说就是获取主机公网IP的。 STUN的工作流程如下 客户端请求位于NAT后面的客户端向STUN服务器发送一个请求。服务器响应STUN服务器收到请求后会将请求的源IP地址和端口号即客户端在公共互连网上的地址作为响应的一部分发送回客户端。客户端发现客户端通过STUN服务器的响应知道了自己在公网上的IP和端口交换信息客户端之前可以交换这些信息尝试直接连接。 交换信息是通过信令通道实现的STUN主要任务是前两步 STUN服务器通常是一个简单的服务它监听UDP端口通常是3478并响应发往该端口的STUN请求。 客户端通过STUN服务器建立连接成功时用户之间是直接连接的。 STUN协议的局限性在于它只能帮助设备发现自己的公网地址但并不能保证两个设备能够直接通信。如果NAT设备不允许未经初始化的外部连接即使知道了对方的公网地址直接连接仍可能失败。在这种情况下可能需要使用TURN协议它通过中继流量来实现通信。 TURN TURN协议是一个用于解决NAT穿透问题的协议它是STUN协议的一个扩展。TURN协议通过在服务器上设置中继服务器允许NAT后面的客户端之间进行通信。当两个客户端直接建立连接时例如由于严格的NAT策略TURN服务器会介入接收来自一个客户端的数据并转发给另一个客户端。 在WebRTC中TURN服务器提供了一个中继点用于在对等体peers之间转发数据包。如果STUN协议无法实现直接连接TURN协议就会作为备选方案确保通信的建立。 客户端通过TURN建立连接成功时 Coturn服务器搭建 下载地址coturn/coturn: coturn TURN server project (github.com) 官网提供了包管理器和 docker 两种方式。 apt apt install coturn turnserver --log-file stdoutdocker docker run -d -p 3478:3478 -p 3478:3478/udp -p 5349:5349 -p 5349:5349/udp -p 49152-65535:49152-65535/udp coturn/coturn由于我使用的阿里云ecs配置为2核2G使用docker启动容器会直接卡死下面采用包管理器进行安装。 下载 coturn centos 可以使用 yum 下载 coturn sudo yum install coturn使用 openssl 生成 cert 和 pkey 配置的自签名证书 openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes 生成的证书默认位于/etc/turn_server_cert.pem、/etc/turn_server_pkey.pem 修改配置 修改 coturn 配置 vim /etc/coturn/turnserver.conf 可以通过ifconfig命令查看内网IP也可以在实例首页查看 修改为自己的内网、公网IP用户名和密码可以自定义。 # 网卡名 relay-deviceeth0 #内网IP listening-ip172.24.65.118 listening-port3478 #内网IP relay-ip172.24.65.118 tls-listening-port5349 # 外网IP external-ip47.121.25.229 relay-threads500 #打开密码验证 lt-cred-mech cert/etc/turn_server_cert.pem pkey/etc/turn_server_pkey.pem #设置用户名和密码创建IceServer时使用 userhhh:123456 # 外网IP绑定的域名 realm47.121.25.229 # 服务器名称用于OAuth认证默认和realm相同部分浏览器本段不设可能会引发cors错误。 server-name47.121.25.229 # 认证密码和前面设置的密码保持一致 cli-password123456udp 3478 用于STUN服务tcp 3478 用于TURN服务默认 udp 49152-65535 用于媒体中继需要为这些端口配置安全组。 启动 coturn turnserver -o -a -f测试Trickle ICE (webrtc.github.io) If you test a STUN server, it works if you can gather a candidate with type “srflx”. If you test a TURN server, it works if you can gather a candidate with type “relay”. 如果您测试一个STUN服务器如果您可以收集类型为“srflx”的候选服务器它就可以工作。如果您测试一个TURN服务器如果您可以收集类型为“relay”的候选服务器它就可以工作 填写自己的服务器信息并点击“Add Server” 点击下方的“Gather candidates”。若收集到了srflx 和 relay 类型的候选服务器表示STUN和TURN可以工作。 要在JavaScript中使用TURN服务器你需要在你的WebRTC代码中配置PTCPeerConnection对象以包含TURN服务器的信息例如 const peerConnection new RTCPeerConnection({iceServers: [{urls: turn:ip:3478, // 你的TURN服务器地址和端口username: , // 如果需要填入你的TURN用户名credential: , // 如果需要填入你的TURN密码}] });
http://www.w-s-a.com/news/600771/

相关文章:

  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站
  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换
  • 我要做个网站该怎么做怎么做电商平台网站
  • wordpress教程 网站标题莱芜大众网
  • 网站建设业务终止合作范本主机公园wordpress
  • 口碑好企业网站建设网站建设与什么专业有关
  • 助贷获客系统快速优化排名公司推荐
  • 重庆做网站优化推广的公司企业网站如何进行定位
  • 高密市赏旋网站设计有限公司山东广饶县建设局网站
  • 成都哪里有网站开发公司网业分离是什么
  • 购物导购网站开发女孩学建筑学好找工作吗
  • 做网站沈阳掌握夏邑进入公众号
  • 怎么做自动提卡网站谷歌推广怎么做
  • 大同网站建设熊掌号wordpress 首页单页
  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业
  • 做做网站已更新878网站正在建设中