rtmp sharedObject服务器端保存



    虽然设置了一个sharedObject的persistence属性为true,但是客户端断开,然后再连接的时候,这个sharedobject的属性似乎不能持久化保存,除非总有一个客户端一直在线,维持着这个sharedobject。
    解决问题的关键貌似就是在断开的时候保存到另一个sharedobject中,这个sharedobject不要参与和客户端的通讯。似乎当前和客户端共用的sharedobject,客户端断开时总会消失,或属性不能持久。总之用另一个独立的只在服务器端的sharedobject来保存是可行的。
    那就需要设置三个So,1、是服务器端永久的So,称为allso;2、暂时的tmso;3、暂时的tmso2.
    机制是:用tmso2真正用于和客户端的连接共享,那两个so用于保存。
    1、在tmso2更新时,让tmso等于它。也就是说tmso在客户端tmso2连上之后,就一直同步等于tmso2,是tmso2在服务器端的一个替身。
    2、在tmso2断开时,设置函数让tmso2的替身,也就是tmso的内容全部加入allso的内容中。这样allso就会保存全部的数据。

    这里的问题是,tmso2断开时,直接把自己的属性内容复制到allso中不行吗?我做了实验,好像是在tmso2断开调用函数onDisconnect时,tmso2本身就没有了,它就没法控制tmso2本身了,但是可以控制它的替身tmso。
   我用的是开源的fluorinefx,学习没有多久,上面仅仅是自己的感觉,不知道大家怎么看?
    
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值