您好,欢迎来到我要学flash网!登录注册

Flash Media Server 起步(7)与server端交互

来源:我要学flash网 | 作者:admin | 发表时间:2011-07-12 | 点击:  次

这是目前为止最难的了吧~~ 要直接看原文件的点这里:

整理后就几行代码不过多解释

客户端呼叫服务器

fla:

  1. //客户端呼叫server端msgfromclient函数,并将返回值trace出来  
  2. mync = new NetConnection();  
  3. mync.connect("rtmp://localhost/connect");  
  4. //返回值  
  5. var resObj = new Object();  
  6. resObj.onResult = function(val):Void {  
  7.   trace("val"+val);  
  8. };  
  9. mync.call("msgfromclient", resObj, "第一个call");  

服务器端代码是放在main.asc里的,你可以到你的application下的你的目录下建一个main.asc,写代码

main.asc:

  1. //要把函数定义到Client上!!  
  2. application.onConnect = function(client) {  
  3.   /* 在这里定义也可以,在Client.prototype里定义也可以  
  4.   client.msgfromclient=function(what){  
  5.     trace(what+"进来了")  
  6.  
  7.  var aa="呼叫成功并返回结果"  
  8.     return aa  
  9.     }  
  10.   */ 
  11. application.acceptConnection(client);  
  12. };  
  13.  
  14. Client.prototype.msgfromclient=function(what){  
  15.   trace(what+"进来了")  
  16.  
  17.  var aa="呼叫成功并返回结果" 
  18.     return aa  
  19.     
  20.   }  


服务器端呼叫客户端

fla:

  1. //server呼叫client端  
  2. //要把函数定义到nc上!!  
  3. //  
  4. mync = new NetConnection();  
  5. mync.onStatus = function(info) {  
  6.   if (info.code == "NetConnection.Connect.Success") {  
  7.     trace("连接成功");  
  8.   }  
  9. };  
  10. mync.connect("rtmp://localhost/connect");  
  11. mync.msgfromserver = function(msg) {  
  12.   trace(msg);  
  13. };  

main.asc:

  1. application.onConnect = function(client) {  
  2. application.acceptConnection(client);  
  3. client.call("msgfromserver",null,"服务器叫你啊")  
  4. };  

服务器端很少要求客户端返回值,如果一定要返回,一本书上是这么写的,没细看

  1. // Define a class that just stores the client ID.  
  2. AreYouOkResultHandler = function (clientID) {  
  3.  this.clientID = clientID;  
  4. };  
  5. // Handle the result of calling areYouOk( ).  
  6. AreYouOkResultHandler.onResult = function (val) {  
  7.  trace("Client " + this.clientID + " returned " + val);  
  8. };  
  9.  
  10. application.pingClient = function (clientObj, clientID) {  
  11.  // Invoke a message on the client.  
  12.  clientObj.call("areYouOk"new AreYouOkResultHandler(clientID));  
  13. }; 

 

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    本文引用地址:
      最新评论: 共有位网友发表了评论
      发表评论:
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 密码: 验证码: