使用NetStream+NetConnection+video创建一个轻量级的FLASH视频播放器,测试阶段的时候发现一个问题。 一旦服务器建立了视频连接后服务器不断给发送数据给客户端。这时客户端通过JS删除FLASH时(附1),通过抓报发现连接并没有被断开。只有等数据完成 下载完成后,由服务器自动断开。这样就碰到一个问题。动态切换节目的时候照成很大的带宽占用。根据一般的逻辑FLASH被删除的时候flash player应该会做这样的清理工作,但是FLASH PLAYER却没有做,经过反复推敲发现。当FLASH as脚本有通过ExternalInterface 调用外部语句的时候。连接没有被断开。否者会发送(RST)标志位主动和服务器断开连接。
由此可以推敲FLASH PLAYER 的工作模式。在有外部接口的时候不主动清理连接,认为外部可能会使用这连接,当没有外部接口时FLASH 自动清理连接。
附1:
var divFlash=document.getElementById(”flashcontent”);
divFlash.innerHTML=”;