我一直在谷歌上搜索,但还是找不到。有人说:给你,就用它吧。其他人声称它有某些限制,不允许你以你想要的方式在闪存中使用p2p。
因此,这里有一个简单的问题:能否实现一个Flash10应用程序,该应用程序使用一些现有的急流文件将视频/音频直接流到用户的浏览器?中
如果没有-为什么?这个“不”有什么解决办法吗?如果是-执行的困难是什么,为什么还没有人实际这样做?
发布于 2009-07-10 18:13:03
答案是几乎不..。好吧,老实说,这不是。
@drudru指出了闪存p2p的正确技术,即stratus。
Flash p2p基于RTMFP,建立在UDP的基础上。实际上,flash确实绑定了一个端口,但这来自内部。没有API可以手动完成这一操作。
RTMFP基本上允许两件事:
p2p是基于NAT打孔的。Stratus本身就是介绍服务器。此外,出于安全目的,p2p连接还意味着,两个客户端都必须有一个空闲的TCP连接(如果我没记错的话)。我想,一些数据当然是传输的,但不是有效载荷。
然而,急流协议与此有很大的不同。因此,这不是一种选择。您可以在RTMFP之上构建一个等效的协议,对stratus服务进行逆向工程(或者等到它是开源的)。当然,这也可以用于非闪存客户端。但是,您将无法以视频的形式观看传输的数据,因为您将获得对NetStream客户端(可能是ByteArray )的调用的param。你也不能回放ByteArray,你可以写一些非闪存的客户端,以流的形式发布视频,但我想这与你想要的还差得很远。
如果您真的想这样做,您需要Java。您可以对Java进行签名,如果用户接受证书,它们实际上可以不受限制地访问,例如,您可以绑定端口。因为Java可以执行UDP,所以您可以拥有一个Java applet,它可以执行torrenting (可能只使用Vuze代码库),如果您真的想在flash中显示它(这反过来需要flv),那么您可以模仿本地的“”,并在localhost:someport上发布视频。但实际上,闪光灯对我来说似乎是非常复杂和无用的。相反,尝试使用Java来回放,希望Java可以选择本机这样做。
发布于 2009-07-10 17:31:42
Flash不允许您在套接字上侦听传入的连接。这将使我们很难处理现有的洪流。考虑到围绕这件事的安全问题,我不认为它会发生。
然而,Adobe已经启动了自己版本的名为Stratus的P2P系统。你可以在这里读到这一点,http://labs.adobe.com/technologies/stratus/
发布于 2010-03-29 22:49:00
所有这些信息现在都过时了。
https://stackoverflow.com/questions/1110880
复制相似问题