[讨论]这些视频聊天或语音聊天是怎么穿越"对称NAT"的?

fengye89 2012-07-28 10:36:33
网上有很多2005年或2010年的文章说能穿越NAT (有TURN穿对称NAT方式H.323穿对称NAT方式 还有
UPnP和STUN相结合穿透对称NAT方式 ) 如果穿不了 那这么多文章全是乱写的?
但是又有很多人说穿不了.
到底能不能穿?? 如果不穿越的话.那YY语音 或者QQ视频语音又是怎么做的??
如果靠服务器中转那QQ服务器不累死? 而且就算是服务器中转,那不会非常慢?

虽然我知道可能得到穿越的答案极少可能.但是大家也讨论一下. 这个问题怎么解决?
现在还有多少对称NAT设备?

你们是怎么处理的?
如果要你开发一个 QQ视频聊天的功能,穿不了对称你会怎么做? 中转? 或一方上传到指定地址 一方下载?
...全文
231 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weichaopst 2012-10-29
  • 打赏
  • 举报
回复
也在弄啊,一团浆糊,问题同楼主,肯定有会的人,怎么回帖这么少啊
fengye89 2012-07-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你可以搜索一下skype。实际上打洞并不靠谱,因此一个系统会尝试7、8种通讯方法,首先是考虑直连,直连失败则测试一下是否可以打洞,否则是各种转发策略。

但是转发未必是使用“腾讯的服务器”,完全可以是离用户最近的(例如用户曾经访问过的)其它客户端作为临时的服务器。
[/Quote]

是啊,我也想过. 应该可以利用很多空闲网络的用户(外网或者能够连接的用户)进行中转的..
  • 打赏
  • 举报
回复
你可以搜索一下skype。实际上打洞并不靠谱,因此一个系统会尝试7、8种通讯方法,首先是考虑直连,直连失败则测试一下是否可以打洞,否则是各种转发策略。

但是转发未必是使用“腾讯的服务器”,完全可以是离用户最近的(例如用户曾经访问过的)其它客户端作为临时的服务器。
yfnm126 2012-07-29
  • 打赏
  • 举报
回复
顶,最近正在尝试类似问题,弄了很久也没搞定,请高手。。。
WebRTC 简介 WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。 WebRTC提供了实时音视频的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android。 虽然WebRTC的目标是实现跨平台的Web端实时音视频通讯,但因为核心层代码的Native、高品质和内聚性,开发者很容易进行除Web平台外的移殖和应用。很长一段时间内WebRTC是业界能免费得到的唯一高品质实时音视频通讯技术。 为什么需要 WebRTC 开发者教程? 虽然WebRTC技术已经较为成熟,其集成了最佳的音/视频引擎,十分先进的codec,且包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透等众多门槛并不低的技术。抛开音视频技术本身的复杂性外,要想找到合适的资料、完整的代码和库、配合合适的IDE和辅助工具能正常地实现编译和安装都非常的不容易,而这还只是个开始。没有靠谱的教程,你该怎么开始?那么地坑等在那,难道你打算一个一个趟过去? 本《WebRTC 零基础开发者教程》主要讲了什么 本文中提供下载的《WebRTC 零基础开发者教程》将以一个初学者的角度,从0开始逐步引导你掌握WebRTC开发的方方面面(当然,教程中更多的是操作性的内容,具体到技术原理和实现,显然不是本教程的讨论范畴)。 《WebRTC 零基础开发者教程》目录 1 工具 1.1 depot_tools 1.1.1 目标 1.1.2 Chromium 1.1.3 使用说明在这儿 1.1.4 下载 1.1.5 使用 1.1.6 具体使用例子 1.2 Gyp工具 1.3 Python工具 1.4 本地集成开发环境(IDE ) 1.4.1 Visual studio 1.4.2 Kdevelop 1.4.3 Eclipse 2 Webrtc 2.1 下载、编译 2.1.1 Windows下 2.1.2 ubuntu下编译 2.1.3 编译Android(只能在 linux 下) 3 webrtc开发 3.1 开发P2P视频软件需要处理的问题 3.1.1 用户列的获取、交换、信令的交换 3.1.2 P2P通信 3.1.3 多媒体处理 3.2 webrtc架构 3.2.1 WebRTC架构组件介绍 3.2.2 WebRTC核心模块API介绍 3.2.3 webRTC核心API详解 4 Libjingle详细介绍 4.1 重要组件 4.1.1 信号 4.1.2 线程和消息 4.1.3 名称转换 4.1.4 SSL支持 4.1.5 连接 4.1.6 传输,通道,连接 4.1.7 候选项 4.1.8 数据包 4.2 如何工作 4.2.1 Application模块 4.2.2 XMPP Messaging Component 模块 4.2.3 Session Logic and management commponent 模块 4.2.4 Peer to peer Component 模块 4.2.5 其他 4.3 建立libjingle应用程序 5 代码分析 5.1 音频通道建立过程 5.2 音频接收播放过程 5.3 视频接收播放过程 6 协议 6.1 XMPP协议 6.1.1 原理介绍 6.1.2 XMPP 协议网络架构 6.1.3 XMPP 协议的组成 6.1.4 Xmpp介绍 6.1.5 协议内容 6.2 Stun协议 6.2.1 P2P实现的原理 6.2.2 P2P的常用实现 6.2.3 Stun URI 6.2.4 内容 6.2.5 中文内容 6.2.6 开源服务器 6.2.7 公开的免费STUN服务器 6.3 Turn协议 6.3.1 概念 6.3.2 Turn uri 6.3.3 开源服务器工程 6.3.4 开源库 6.4 交互式连接建立(Interactive Connectivity Establishment) 6.4.1 IETF规格 6.4.2 开源工程 6.5 XEP-0166 Jingle 6.5.1 绪论 6.5.2 需求 6.6 Sctp协议 6.7 Rtp协议 7 附件 7.1 Gyp工具 7.2 Google test程序 7.3 Webrtc库介绍 7.4 webrtc代码相关基础知识 7.5 STUN和TURN技术浅析 7.6 基于ICE的VoIP穿越NAT改进方案 7.7 ubuntu安装使用stuntman 7.8 一个开源的ICE库——libnice介绍 7.9 4种利用TURN穿越对称NAT方案的设计与实现 7.10 基于ICE方式SIP信令穿透Symmetric_NAT技术研究

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧