Flash 如何检测到闪存媒体服务器的上传带宽
我试图让“bwcheck”应用程序在Amazon EC2上的FMS 4上工作,以便检测我到服务器的上传速度,并为我的上传速度提供最佳质量的流 我遵循的教程如下所示: 测试-第2部分-检测-上传-下载和延迟-速度和端口连接/ 或 chives/2004/01/c.html 两者几乎完全相同。但是,当我将.fla编译为.swf(更改了服务器和应用程序的URL)并加载服务器端代码后,我在服务器端日志中出现以下错误: 找不到方法(recData) 我知道它显然找不到方法,但我尝试在全局范围内将其从函数中删除,尝试将其附加到客户端,等等,但没有任何效果。服务器端脚本的原始代码是: 对于(i=0;i<1000;i++){ 数据+=“S->C”; } Client.prototype.recData=函数(数据) { 这个。ping(); var v=this.getStats(); 此呼叫(“确认”,0,v.ping_rtt); } Client.prototype.echoData=函数() { 调用(“onEcho”,0,数据); }; Client.prototype.getBWInfo=函数() { 返回这个.getStats(); }; Client.prototype.onConnTimeout=函数() { clearInterval(this.connTimeout); this.conntTimeout=null; 应用程序。断开(此); } application.onConnect=函数(客户端,id) { 跟踪(“连接:”); //建立连接 应用程序。接受连接(客户端);Flash 如何检测到闪存媒体服务器的上传带宽,flash,upload,bandwidth,detect,Flash,Upload,Bandwidth,Detect,我试图让“bwcheck”应用程序在Amazon EC2上的FMS 4上工作,以便检测我到服务器的上传速度,并为我的上传速度提供最佳质量的流 我遵循的教程如下所示: 测试-第2部分-检测-上传-下载和延迟-速度和端口连接/ 或 chives/2004/01/c.html 两者几乎完全相同。但是,当我将.fla编译为.swf(更改了服务器和应用程序的URL)并加载服务器端代码后,我在服务器端日志中出现以下错误: 找不到方法(recData) 我知道它显然找不到方法,但我尝试在全局范围内将其从函数中
}您确定所有Client.prototype方法都位于其自身的函数中,即:
application.onAppStart = function (info){
////////// start bandwidth check methods ////////////////
for ( i = 0; i < 500; i++ ) {
data += "S->C";
}
Client.prototype.recData = function(data)
{
this.ping();
var v = this.getStats();
this.call("ack", 0, v.ping_rtt);
}
...etc
////////// end bandwidth check methods ////////////////
}
application.onConnect = function(client_obj, id) {
application.acceptConnection(client_obj);
}
application.onAppStart=函数(信息){
//////////启动带宽检查方法////////////////
对于(i=0;i<500;i++){
数据+=“S->C”;
}
Client.prototype.recData=函数(数据)
{
这个。ping();
var v=this.getStats();
此呼叫(“确认”,0,v.ping_rtt);
}
等
//////////端带宽检查方法////////////////
}
application.onConnect=函数(客户端对象,id){
应用程序。接受连接(客户端_obj);
}
该应用程序是否也适用于本地版本的FMS?我用相同的代码块解决了这个问题。它在日志中--数据未定义 付诸表决: var数据=“”
最重要的是。使用4.0.2版的新EC2公共AMI,它刚刚开始工作。我无法解释,因为我以前使用的是完全相同的代码。