RTMFP和防火墙/路由器

5
我想使用Flash的RTMFP对等协议,但我想知道是否值得为主流用户开发?据我所知,它使用UDP,除非用户的防火墙/路由器正确配置,否则它将变得无用。
有解决这个问题的方法吗?
5个回答

4
这里有一个链接:https://github.com/OpenRTMFP/Cumulus。不确定你们是否看过。
我已经和开发者交流过,他说这个项目已经完成了95%。
我不知道它是否支持回退到RTMP,如果不支持的话,整个项目就没有用处了。
有人能够进一步调查并评论吗?
我还想加入这个链接:http://jasmeetsingh.wordpress.com/2009/01/29/my-first-attempt-to-learn-stratus-rtmfp/

旧版的RTMP使用TCP端口1935,并会回退到通过443和/或80进行隧道传输。

新版的RTMFP使用UDP,需要能够向1935和更高端口号进行出站连接,以建立服务器连接。

在443和80 UDP上运行也无济于事,防火墙可能已配置为打开TCP 443(HTTPS)和TCP 80(HTTP),同时仍然阻止UDP(需要启用出站UDP)。

如果您能够让客户的IT部门安装TURN代理,则可以手动配置Flash Player以使用TURN代理来绕过防火墙。在Flash Player 10.0中,支持draft-ietf-behave-turn-08。

另一个编辑:
现在看一下这个链接:https://labs.ericsson.com/developer-community/blog/beyond-html5-peer-peer-conversational-video 他们能够使用RTP / UDP,而且在两个客户端都位于NAT后的情况下。

大多数网络都使用某种类型的NAT(网络地址转换),这使得此类点对点连接变得复杂。ICE(Interactive Connectivity Establishment;RFC 5245)过程允许即使存在NAT也可以建立连接,使用STUN / TURN服务器。

这是否意味着使用ICE意味着RTMFP可能是一种有效的权宜之计,直到其嵌入浏览器中?

据我所知,Cumulus是Adobe Cirrus/Stratus的替代品,用于握手两个对等方的服务。虽然它似乎仍然不独立于Cirrus,因为手册上说你应该传递你的Cirrus开发者密钥..?无论如何,这里的问题不在于握手部分,因为我们可以从Cirrus获取我们的Peer ID,而是P2P部分,由于防火墙而导致连接失败。 - Will Kru

1

0

这是你的网络问题,互联网服务提供商的问题。 当我使用我的办公室WiFi或LAN互联网时,RTMFP服务器无法连接。但是同一台笔记本电脑使用我的手机的GSM互联网时,所有服务器都能连接。那么我所做的就是当我用手机互联网连接网站并且所有服务器都能够连接时,我将手机的互联网断开连接并连接到办公室的WiFi或LAN互联网(不刷新浏览器),然后所有服务器都能够正确连接并正常运行。


0

要启动rtmfp udp连接,您需要一个中央服务器来管理握手过程。如果没有这个服务器,在防火墙存在的情况下,它将始终失败。事实上,这正是rtmfp协议的整个优势 - 即使两端都在NAT后面,也能穿越防火墙。

如果openrtmfp / cumulus服务器现在已经运行起来了,那么它可能是一种免费的解决方案,帮助您运行。


0

我本来想在这个问题上发帖子,问问是否有人成功地让它工作。最近我开始尝试使用Flash P2P,到目前为止,它似乎只能在本地工作,在同一台电脑上连接两个浏览器Flash客户端。一旦数据必须通过互联网传输(因此必须处理防火墙),连接将总是失败,尽管两个客户端都能获取Stratus对等ID。

根据我所读的内容,使用P2P/RTMFP的应用程序也会实现回退到RTMP,失去P2P的好处,例如没有服务器带宽和UDP速度。

解编Chatroulette客户端后,我还发现它使用了RTMP回退,这让我想知道Chatroulette上有多少会话是实际的P2P会话。

所以显然,它似乎是一个无用的协议。

真的很好奇是否有人成功证明了相反的情况。


1
我总是能将我的应用连接到同行。也许是你的路由器没有正确配置,因此所有连接都对你失败了。 - Anon21
2
在这里描述的目的上可能是无用的,但总体来说并不是无用的。 - Aaron
我已经成功地使用connect("rtmfp:")制作了一个P2P无服务器应用程序。在Windows/MAC/Android的本地网络上运行良好。就多播而言,据我所知,需要在路由器/防火墙上启用IGMP以进行P2P通信。 - Usama Ahmed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接