Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 防火墙使rtmp flash播放器延迟20秒_Actionscript 3_Flash_Apache Flex_Rtmp - Fatal编程技术网

Actionscript 3 防火墙使rtmp flash播放器延迟20秒

Actionscript 3 防火墙使rtmp flash播放器延迟20秒,actionscript-3,flash,apache-flex,rtmp,Actionscript 3,Flash,Apache Flex,Rtmp,您好,有一个播放器可以通过防火墙在端口1935上使用rtmp数据包工作。我遇到的问题是,流媒体在我启动播放器20秒后开始 是什么导致了这个问题 当防火墙关闭时,播放机立即开始从打开的端口流出。RTMP上的Flash播放机有一个回退链,在这个回退链中,他们尝试在TCP:1935连接,如果失败,请尝试TCP:80。这个回退链可能需要一段时间,特别是如果防火墙丢弃1935个数据包而不是拒绝它们 如果您有权访问防火墙配置,请尝试将1935策略更改为允许或拒绝(但不删除) 否则,如果可以修改HTML,可以

您好,有一个播放器可以通过防火墙在端口1935上使用rtmp数据包工作。我遇到的问题是,流媒体在我启动播放器20秒后开始

是什么导致了这个问题


当防火墙关闭时,播放机立即开始从打开的端口流出。

RTMP上的Flash播放机有一个回退链,在这个回退链中,他们尝试在TCP:1935连接,如果失败,请尝试TCP:80。这个回退链可能需要一段时间,特别是如果防火墙丢弃1935个数据包而不是拒绝它们

如果您有权访问防火墙配置,请尝试将1935策略更改为允许或拒绝(但不删除)


否则,如果可以修改HTML,可以尝试将RTMP链接URL模式更改为“rtmpt://”,而不是“RTMP://”。这将导致播放机立即尝试端口80(不过,当端口1935上的RTMP工作时,它比端口80上的RTMPT工作得更好)。

事实证明,播放机获得的是主机名而不是流媒体的ip地址,因此它为此挣扎了20秒。好的,我们发现DNS没有正确解析用于流式处理的url:)因此使用真实的ip地址来流式处理,而不是主机名

听起来像网络延迟;也许防火墙正在解析每一个数据包?我尝试过流式传输,它工作得很好,即使防火墙打开,它也能流式传输。所以我猜玩家有一些问题。我应该向AS3代码中添加什么以在端口1935上的rtmp上进行流式传输?我在1935上的rtmp代码中是否遗漏了什么?我已经为rtmp实现了标准的as3 netconnection和netstream,播放器工作正常,但当防火墙打开时,它会延迟20秒,直到开始流化。如果您在as3中打开“rtmp://”资源,并且端口1935无法连接,它将尝试在端口80上重新连接(无需为此显式编写任何代码)。如果使用“rtmpt://”,它将强制连接从一开始就位于端口80上。