zoukankan      html  css  js  c++  java
  • FMS Dev Guide学习笔记(远程共享对象)

    一、开发交互式的媒体应用程序
    1.共享对象(Shared objects)

        ----远程共享对象

    在你创建一个远程共享对象之前,创建一个NetConnection对象并且连接到服务器.一旦你创建了这个链接,就可以使用SharedObject类中的方法创建和更新远程对象了.一半的使用远程共享对象的步骤如下:

        1.创建一个NetConnection对象并且连上服务器:

            nc = new NetConnection();

            nc.connect("rtmp://localhost/SharedBall");

        这是链接服务器最简单的方法.在真正的应用程序中,你应该为NetConnection对象添加事件监听器并且定义handler方法.(阅读SharedBall example一节以获取更多的信息)

        2.创建远程共享对象.当连接成功,调用SharedObject.getRemote()方法在服务器创建一个远程共享对象:

            so = SharedObject.getRemote("ballPosition", nc.uri, false);

        第一个参数是这个远程共享对象的名称.第二个参数是你连接的这个应用程序的URI并且要和在Netconnection.connet()方法里面使用的 URI一致.最简便的方法便是使用nc.uri属性.第三个参数指定这个远程共享对象是否是持久的.false用来指定这个远程对象为临时的.

        3.连接上远程共享对象.一旦共享对象被创建,使用你刚刚创建的NetConnection对象将客户端和共享对象建立连接:

            so.connect()nc;

        你同时也需要通过共享对象为同步事件添加一个事件监听器:

            so.addEventListener(SyncEvent.SYNC, syncHandler);

        4.使远程共享对象和客户端同步.同步远程对象需要两个步骤.

          第一,当一个客户端发生改变或者设置了一个数据值,你需要更新远程共享对象.第二,根据远程共享对象更新所有的客户端.

        a. 通过setProperty()方法来更新远程共享对象当一个客户端发生改变的时候:

            so.setProperty("x", sharedBall.x);

            你必须使用setProperty()方法来更新共享对象里面的值.远程共享对象有一个包括了属性和值的data属性.但是在AS3里,你不能直接将值写入,像这样:

             so.data.x = sharedBall.x;//you can't do this

        b. 当共享对象被更新的时候,它会发送出一个sync事件.通过读取这个共享对象的data属性同步这个改变到剩余的客户端:

            sharedBall.x = so.data.x;

        这个步骤通常在sync事件handler里面执行.

  • 相关阅读:
    计算机系统结构之重要知识点总结2
    计算机系统结构之重要知识点总结1
    蓝桥杯 历届试题 幸运数(暴力打表)
    蓝桥杯 历届试题 网络寻路(dfs搜索合法路径计数)
    蓝桥杯 历届试题 约数倍数选卡片 (经典数论+DFS)
    蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)
    蓝桥杯 历届试题 小朋友排队(数状数组+离散化||归并排序||线段树+离散化)
    poj 1932 XYZZY(spfa最长路+判断正环+floyd求传递闭包)
    pycharm+selenium搭建环境之no module named 'selenium'异常解决
    Web自动化测试—— Selenium+Python Windows环境搭建
  • 原文地址:https://www.cnblogs.com/chenhaib/p/3469693.html
Copyright © 2011-2022 走看看