关闭聊天室窗口NetConnection不断开的问题及其解决

问题:

将一个视频聊天室系统从FCS升级到FMS,目前的客户端是Flash player 8,客人从浏览器登陆后,选择一个聊天室进入,此时会弹出一个新窗口,聊天室就在新窗口中。但是当关闭聊天室的时候,却并没有触发FMS程序中的onDisConnect事件,客人仍然可以听到聊天室中的声音,必须关闭所有的浏览器窗口,才会完全退出聊天室。

继续阅读关闭聊天室窗口NetConnection不断开的问题及其解决

Flash Communication Server并不会将修改的SO值立刻写入文件

使用NetConnection.getRemote()方法可以得到对于Flash Communication Server永久的服务器端ShareObject(SO)。这种永久的SO实际上是以一个二进制文件的形式存在于服务器上的,扩展名为fso。但是据我对此文件的观察,当客户端或者服务器程序对SO值进行了修改、添加、删除等操作后,fso文件并不会立刻更新。经过多次的实验发现,FCS会在以下某种情况发生的时候更新fso文件:

  1. 客户端NC关闭
  2. 服务器端Client关闭
  3. 服务器端Application退出
  4. 调用SharedObject.flush()方法
  5. 调用SharedObject.close()方法