我正在尝试让“bwcheck”应用程序在Amazon EC2上运行FMS 4,以便检测我到服务器的上传速度,并为我的上传速度提供最优质的流。
我遵循的教程是:
http://www.derekentringer.com/blog/flash-media-server-streaming-speed- testing-part-2-detect-upload-download-and-latency-speeds-and-port-conn ection /
或
http://web.archive.org/web/20080308081519/http://www.peldi.com/blog/ar chives / 2004/01 / automated_c.html
两者几乎相同。但是,当我将.fla编译为.swf(更改了我的服务器和应用程序的URL),并且在加载服务器端代码后,我在服务器端日志中收到以下错误:
找不到方法(recData)
我明白,显然它没有找到方法,但我尝试将其从全局范围中的函数中删除,尝试将其附加到客户端等,但没有任何效果。服务器端脚本的原始代码是:
for(i = 0; i< 1000; i ++){ data + =“S-> C”; }
Client.prototype.recData = function(data) { this.ping(); var v = this.getStats(); this.call(“ack”,0,v.ping_rtt); }
Client.prototype.echoData = function() { this.call(“onEcho”,0,data); };
Client.prototype.getBWInfo = function() { return this.getStats(); };
Client.prototype.onConnTimeout = function() { clearInterval(this.connTimeout); this.connTimeout = null; application.disconnect(本); }
application.onConnect = function(client,id) { trace(“connect:”); //建立连接 application.acceptConnection(客户端); }
答案 0 :(得分:0)
您确定所有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);
}
该应用程序是否也适用于本地版本的FMS?
答案 1 :(得分:0)
我用相同的代码块解决了这个问题。它在日志中 - 数据未定义。
把:
var data =''
在其他事情之前。