您知道是否真的有可能断开know连接,以及如何断开连接?官方文档和rtmpconnection.lzx中没有“断开”方法。因此,如果您知道如何断开rtmp连接,请告诉我。提前谢谢。
发布于 2012-08-21 10:23:57
类在OpenLaszlo中使用ActionScript 3 NetConnection克隆s连接到服务器。NetConnection类有一个方法close(),下面是该类的文档:
关闭本地或服务器打开的连接,并分发一个代码属性为netStatus的NetConnection.Connect.Closed事件。 此方法断开连接在连接上运行的所有NetStream对象。未发送的任何排队数据都将被丢弃。(要在不关闭连接的情况下终止本地或服务器流,请使用NetStream.close()。)如果关闭连接并希望创建新连接,则必须创建新的NetConnection对象并再次调用connect()方法。 close()方法还断开在此连接上运行的所有远程共享对象的连接。但是,您不需要重新创建共享对象才能重新连接。相反,只需调用SharedObject.connect()来重新建立到共享对象的连接。此外,在发出NetConnection.close()时在共享对象中排队的任何数据都是在重新建立到共享对象的连接之后发送的。 使用,最佳开发实践是在客户端不再需要与服务器的连接时调用close()。调用close()是清理未使用连接的最快方法。您可以将服务器配置为自动关闭空闲连接,作为备份措施。
在LZX源代码中,我可以看到,只有在连接失败时才调用NetConnection.close():
<!--- Handle connection failure, attempt to reconnect using altsrc
@keywords private -->
<method name="_handleConnectionFailure" args="msg"><![CDATA[
this._nc.close();
if (this.debug) {
if ($debug) Debug.warn("error connecting to", this._connecturl, ":", msg);
}
....我不知道为什么在类上没有定义close方法,但是您可以通过扩展并添加一个close方法来为自己添加该代码。只需确保正确处理状态变量即可。
由于我很久没有使用Red5了,所以我无法告诉您Red5是否会自动关闭空闲的NetConnections。
https://stackoverflow.com/questions/12049203
复制相似问题