[FMS]Flash Media Server连Remoting的使用代码
客户端预先定义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;
}
}
?>
热门文章推荐
- [FMS]adobe FMS配置实现(FMS/HLS/HDS)功能经验
- [HLS]HTTP Live Streaming流与TS流比较
- [FMS]adobe FMS(flash media server )服务器安装过程
- [FMS]fms5.0的hls(HTTP Live Streaming)技术实现跨平台点播与
- [FMS]FMS之HTTP Live Streaming (HLS)视频直播技术
- [hls]m3u8视频如何处理成加密?
- [海康]视频监控环境中配置组播模式
- [FMS]基于fms搭建在线hls跨平台直播环境(组图)