我正在使用AS3和Red5 Flash进行流处理。
在我有问题之前一切都很顺利。我不知道它的Flash服务器错误!
当我关闭一个流连接(在publisher上)并再次连接它时,它是工作的,但是当我断开我的internet连接时(为了测试),然后重新连接和刷新页面,它给了我: NetStream.Publish.BadName
in EventListener。
我在谷歌上搜索了一下,发现当他们忘记关闭一个现有的发布客户端,然后尝试运行另一个发布客户端时,它就发生了。一次只能使用一个发布者的唯一名称。
因此,当我失去网络连接时,我的发布者名仍然在服务器中,直到服务器重新启动,我才能再次使用该名称!
这是僵尸流过程吗?如何关闭空闲流名称或手动关闭它们?
抱歉英语不太好。
提前感谢
发布于 2016-10-27 09:14:33
https://helpx.adobe.com/adobe-media-server/kb/prevent-netstream-publish-badname-errors.html
问题
Flash向发布服务器返回一条NetStream.Publish.BadName消息。当与服务器的连接中断,而发行者试图重新发布活动流时,会发生此错误。解决方案
配置应用程序的PublishTimeout值,以允许Flash清除第一个发布连接,并允许随后的发布连接接管活动流。PublishTimeout设置指定服务器在其他客户端尝试发布到流时等待发布服务器响应的时间(以毫秒为单位)。如果第一个发布服务器未能在此标记中指定的时间内响应,则服务器允许第二个发布服务器接管活动流。默认值为2000 (或2秒),请按照以下步骤更改:
Edit the local or global Application.xml. The default global location is in $fms_root\conf\_defaultRoot_\_defaultVHost_..
Change numerical value between the Application > StreamManager > Live > PublishTimeout tags.
Save the file and restart the application.
备注:
Disable this tag by setting the value to -1.
For streams experiencing latency, consider increasing the PublishTimeout value.
If your publishing client has a configurable connection timeout, set its value greater than the PublishTimeout value.
更多信息
只允许每个应用程序实例的一个活动流的客户端发布服务器。它拒绝任何试图发布现有活动流并向该客户端返回NetStream.Publish.BadName状态的客户端。由于套接字API的限制,服务器在尝试重新发布流之前可能不会收到原始发布服务器断开连接的通知。服务器执行原始流发布服务器的连接,并阻止针对同一流的其他发布尝试。
这项工作是许可的知识共享属性-非商业共享,同样3.0未移植的许可推特™和Facebook的帖子不包括在知识共享的条款。
法律公告?网上私隐政策
https://stackoverflow.com/questions/21001603
复制相似问题