宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > FMS教程

[FMS]Flash Media Server连Remoting的使用代码

2016-10-13 00:16:48 点击量:41 标签: 收藏本文

客户端预先定义say_Result响应函数,然后调用由Flash Media Server提供给客户端的say方法。而Flash Media Server为客户端定义的say函数实际上是在处理amfphp提供的服务——phpSay,再由其回调HelloWorld类的 phpSay_Result方法,进而触发了客户端预定义的say_Result函数。

客户端:
var _nc = new NetConnection();
_nc.say_Result = trace;
_nc.connect(’rtmp://x/helloworld’);
_nc.call(’say’, null, ‘hello world!’);

服务器端 Flash Media Server (main.asc) 位于applications/helloworld/
load(’netservices.asc’);
NetServices.setDefaultGatewayUrl(’http://x/amfphp/gateway.php’);
var conn = NetServices.createGatewayConnection();
application.onConnect = function(client_obj)
{
    // 将客户端的say方法设置为HelloWorld(由amfphp提供服务的PHP类)的phpSay方法
    // 并且为其响应对象设定一个名为phpSay_Result的方法
    client_obj.service = conn.getService(’HelloWorld’, new HelloWorld(client_obj));
    client_obj.say = function(msg)
    {
        this.service.phpSay(msg);
    }
    this.acceptConnection(client_obj);
}
// flash remoting 响应对象:
function HelloWorld(client_obj)
{
    this.client = client_obj;
}
HelloWorld.prototype.phpSay_Result = function(result)
{
    this.client.call(’say_Result’, null, result + ‘ <<< by Flash Media Server’);
}

服务器端 PHP (HelloWorld.php) 位于amfphp/services/
<?php
class HelloWorld
{
    function HelloWorld()
    {
        $this->methodTable = array(
            ’phpSay’ => array(
                ‘access’ => ‘remote’
            )
        );
    }
   
    function phpSay($msg)
    {
        return ‘from PHP >>> ‘ . $msg;
    }
}
?>

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室