您的位置:首页 > 其它

如果你的第一个Flash Media Server 的 HelloWorld程序失败了……

2013-11-08 00:34 405 查看
我的第一篇日志讲的就是我在helloworld上遇到的问题,当时倒腾了好久也没好,后来看到这篇文章,就把所有画蛇添足的东西都删掉了,结果真的就成功搞定了第一次实验。

但我觉得事情不会这么简单,所以还是决定留下第一篇日志以供日后查看,同时转一下这篇文章作为参考:

环境FMS3.5

如果你的第一个Flash Media Server的HelloWorld的例子就失败了……

而且还是跟着http://help.adobe.com/en_US/FlashMediaServer/3.5_Deving/flashmediaserver_3.5_dev_guide.pdf

这样官方的指导教材后面的情况下失败。检查过程序代码几十遍后还是失败了……那我想你估计以后再也不会愿意用FMS来跟世界打招呼了!

跟着官方的示例来做会出现类似如下错误:

Error #2044: 未处理的 AsyncErrorEvent:。 text=Error #2095: flash.net.NetConnection 无法调用回调 onBWDone。 error=ReferenceError: Error #1069: 在 flash.net.NetConnection 上找不到属性 onBWDone,且没有默认值。

at HelloWorld/connectHandler()[C:\Users\Administrator\Desktop\dtjoy\proj\HelloWorld.as:51]

Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetConnection.Call.Failed

at HelloWorld/connectHandler()[C:\Users\Administrator\Desktop\dtjoy\proj\HelloWorld.as:51]

然后你百度了一下错误,加了些乱七八糟的代码后变成了如下错误:

Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetConnection.Call

错误虽然有所变化,但是问题一样没有解决。

那么正确的做法应该是怎么样的呢?首先官方的代码是没有任何问题的,这点不用怀疑了。

但是代码中的一行要非常注意,那就是“nc.connect("rtmp://localhost/HelloWorld");

如果你的开发环境和FMS服务器不在一台机上那么这里面的“localhost”要换成对应的域名,比如我的完整地址是:rtmpt://yuyin.dtjoy.com:1935/HelloWorld 同样“HelloWorld”是要你在“\Adobe\Flash Media Server 3.5\applications”下自己建立的一个文件夹。这里同样要注意的是,千万不要听信网上其他人话,自作聪明地把liv或者vod下的4个文件拷贝到文件夹里面去,如果你做了,那么毫无疑问会报错。

另外要注意的是:HelloWorld以及里面的任何变动都必须重启FMS服务器后才生效。

最后一句话:这个程序跑不成功的就是HelloWorld的application没有配置正确,虽然这个配置就是建个文件夹放个HelloWorld.asc文件,即使这么简单的操作仍有人画蛇添足地搞出好多莫名其妙的问题来,其次就是connect时候的rtmp地址写错了。

如果官方代码没有的可以点这里下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: