语录提交--登陆--注册--论坛交流--站长博客

Fms教程6 对象的使用

[作者:来自网络][日期:2007-12-28][导航:Flash教程 >> Fms2 >> Fms教程6 对象的使用]
  第三章 使用对象
Macromedia Flash Communication Server MX 1.5提供了两部分API,即客户端API和服务器端API。本章主要讲述客户端API和服务器端API是怎样使用的。也会涉及到共享对象的讨论,怎样存储关于应用程序和用户的相关信息。概述FlashMX Com Server的核心对象之后,我们也会重点描述一些类的细节内容,例如Camera, Microphone, NetStream, Stream, System和 Video 对象以及关于如何优化应用程序、保护客户端对象和使得NetConnection对象更安全。
客户端API提供了: Camera(摄影机), Microphone(麦克风), NetConnection(联机),NetStream(串流), SharedObject(共享对象)和 Video(视频). 服务器端API提供了下面这些对象: Application(应用程序), Client(客户端), NetConnection(联机), SharedObject(共享对象)和 Stream(串流).
客户端对象
下面的对象只能用于客户端的as脚本中
Camera 对象:允许你从摄影机捕捉视频并追加到任何一个MC中,当使用FlashMx Com server的时候,还可以在联机对象间传输、显示,甚至录制捕捉到的视频。应用这个特性,你可以开发例如视频会议、视频等应用程序。
Microphone 对象 :该对象用于取得麦克风的声音来源,并且可以在联机对象之间传输、播放等,可以开发例如语音之类的应用程序,如果不使用联机对象,也可以把声音通过音箱在本地输出。
NetConnection 对象:允许Flash客户端通过TCP socket与FlashCom Server建立连接,并且使用RTMP(Real-
Time Messaging Protocol,实时讯息通讯协议)交互数据。
NetStream 对象:在使用Netconnect对象所建立的联机对象上,进行数据、声音和视频信息的传输,就如同NetConnect的通道一样。
可以使用NetStream.publish方法来发步数据流,使用NetStream.play来播放接收到的数据流。
Localshared 对象:记录用户的资料,或者把讯息实时传递给所有联机用户。
Video 对象:用于显示通过NetStream.play方法或Camera.get方法捕捉到的视频流。并通过Video.attachVideo方法把该视频对象放置到flash的舞台。
服务器端对象
Application 对象:包含应用程序实体的信息与状态,直到程序结束为止。Application对象也可以让程序决定是否接收用户的联机或者关闭用户的联机,以及清除应用程序特定的流、清除在服务器端的共享对象,并让你在有效范围内访问整个应用程序的变量、定义相关事件所执行的函数等。
Client 对象:包含每个联机用户的信息,例如客户端的IP地址、Flash的版本信息、分配用户的频宽,或者呼叫客户端定义的方法等。
NetConnection 对象:可以在应用程序实体和服务器端,或者同一台服务器的另外一个应用程序之间创建一种双向的连接。你甚至可以使用服务器端的 NetConnection 对象来创建更强大的应用程序,例如你可以获取天气信息从另一个应用程序服务器或者和其他的Flashcom服务器及应用程序实体共享加载。使用联机对象,你可以使用标准的http协议或者rtmp协议在服务器之间交互和传递数据。
Remoteshared 对象:远程共享对象是在客户端建立的,但是可以在服务器端仍然可以使用,它可以实时地在客户端的多个应用程序之间共享和存储数据
SharedObject对象:作用和客户端建立的远程共享对象一样,让不同联机用户能够通过服务器端的共享对象实时分享信息。不过所提供的方法和客户端的有所区别。例如,读取服务器端的共享对象要用get方法,设定存储资料不用data属性,而使用setproperty和getProperty方法,另外还有暂时锁住和解锁的方法 lock和unlock,防止资料会覆写。
Stream 对象:处理影音串流,传回录像文件的时间秒数、呼叫客户端串流对象中的自定义方法、以及播放与录像等方法。

客户端和服务器端的对象交流
某些对象的方法是可以在客户端或者服务器端建立和相互调用。例如当客户端的NetConnect对象联机到服务器端,服务器端的Netconnect对象同时也建立了,这个对象可以调用客户端NetConnect对象的副本的所有方法。下面的表格显示了对应的调用关系
     
  1.  
  2. 客户端对象
     
  3. my_nc 
  4. (NetConnection object )
     
  5.  
  6. my_ns (NetStream object )
     
  7.  
  8. my_so (remote shared object )
     
  9.  
  10. 回应的服务器端对象
     
  11. my_client 
  12. (Client object or application.clients object )
     
  13.  
  14. my_server_stream (Stream object )
     
  15.  
  16. my_server_so (server-side shared object )
     
  17.  



下面表示了客户端的调用和服务器端的回应
     
  1.  

  2.  
  3. 客户端的调用
     
  4. my_nc
  5. . connect 
     
  6. my_nc
  7. . close 
     
  8. my_nc
  9. .call('doThing'myCallbackFcn1'foo'
     
  10.  
  11. my_so.send('doThing'1'foo' )
     
  12.  
  13. 服务器端的回应分别对应为
     
  14. application
  15. . onConnect
     
  16. application
  17. . onDisconnect
  18. my_client
  19. .doThing(1'foo' )
  20.  
  21. my_server_so.doThing(1'foo' )
  22.  



下面显示了服务器端的调用和客户端的回应
     
  1.  

  2.  
  3. 服务器端的调用
     
  4. my_client
  5. .call ('doThing'myCallbackFcn,1'foo' )
     
  6.  
  7. my_server_stream.send ('doThing'1,'foo'
     
  8.  
  9. my_server_so.send('doThing'1'foo'
     
  10.  
  11. 客户端的回应分别对应为
     
  12.  my_nc
  13. .doThing (1'foo' )
     
  14.  
  15. my_ns.doThing (1'foo' )
     
  16.  
  17. my_so.doThing(1'foo' )
  18.  

[文章热度:]


上一页:Fms 教程5 共享对象示例

下一页:Fms教程7 理解共享对象

最新话题

网站导航

搜索

网站公告


Copyright 2007 51as.com. Some Rights Reserved.
鄂ICP备07003189号

Powered by: KingCMS 5.0.1.0217