如题,在FluorineFx的实时视频交互应用中,如果页面长时间不动,可能会导致flash中的NetConnection对象断开连接,其原因我没有深入研究,不过应该能猜出大概(以下结论未必证实,不保证一定正确):FluorineFx是做为一个HttpModule而嵌入asp.net网站中的,如果长时间不动,页面与服务器之间的session过期可能会导致FluorineFx与客户端的连接也一并关闭。
解决办法:在嵌入flash的页面中,随便用ajax定时(比如每5分钟)服务端随便发点数据过去(哪怕只是一个字符也行),以证明自己还活着。
另外在使用中还发现一个现象:通常我习惯于把FluorineFx的应用站点单独以二级域名的形式放在一台独立服务器上,然后在主站点上嵌入flash来访问FluorineFx服务端,我发现如果FluorineFx的二级域名站点一直无人访问,下一次在flash中以rtmp协议连接其app时,会连接不上。但此时,如果人为在游览器里访问一下FluorineFx站点中的任何一个aspx页面或ashx时,再运行flash就能连接上了。
换言之,如果一直没有任何人以http方式请求FluorineFx站点,对默认1935端口的监听貌似会进入睡眠状态,必须要人为访问一次,方能激活。
解决办法:在嵌入flash的页面中以iframe方式随便嵌入一个FluorineFx二级站点中的任何页面即可。这样页面打开时,iframe 相当于请求了FluorineFx站点,将其激活。