2011-09-09 39 views
1

我正尝试连接到AIR中的rtmps端点。使用rtmps Flex iOS应用程序

的代码看起来是这样的:

private function onCreationComplete():void{ 
    var conn:NetConnection = new NetConnection(); 
    conn.connect("rtmps://someserver.com/someapplication"); 
    conn.proxyType = "best"; 
    conn.addEventListener(NetStatusEvent.NET_STATUS,statusHandler); 
} 

private function statusHandler(event:NetStatusEvent):void{ 
    var conn:NetConnection = NetConnection(event.target); 
    trace(event.info.code); 
} 

这ADL(模拟器)运行在桌面上的应用程序时,实际上是完美的作品。 但是,当我在iPad上安装应用程序(.ipa)时,连接失败。

我的两个台式机和iPad连接到同一个无线网络(因此使用相同的网络架构来连接)

有没有人经历过这种行为之前?

干杯

+0

我只能提供粗略的帮助。我听说有些人在模拟器中工作过,但没有在设备上工作。我知道iOS会阻止某些行为。我不确定你想要做的是其中之一。我不知道iOS模拟器是否没有正确“限制”功能。祝你好运! – JeffryHouser

+0

我的第一个预感是可能会出现一些证书问题,因为我猜测它将由操作系统本身通过AIR运行时中的API来处理。 我想找到这方面的规范:) –

+0

事实上,有一些问题与模拟器,因为人们在adobe jira中记录功能请求 http://bugs.adobe.com/jira/browse/FB- 31245 –

回答

1

这仍然是Air 3.1的一个问题。 我用Adobe提出了一个错误报告 - https://bugbase.adobe.com/index.cfm?event=bug&id=3133542

+0

是否已修复? –

+1

您可以在iOS上使用Flex的rtmps连接来使用Flex,但您必须使用可识别的SSL证书,而不是自行生成的证书。当使用Android的自我证书进行连接时,您可以选择授权,iOS只是默默地失败。所以从Verisign这样的人那里购买证书,你应该很好。我的公司app myCast(http://codeghost.co.uk/mycast)是使用Flex构建的,可以成功连接到rtmp。 – codeghost

1

经过一番认真的努力弄清楚什么是错在这里,

我们无法建立通过rtmps到我们的服务器的连接。
经常rtmp似乎很好,但不幸的是不是我们的选择。

* 编辑 *
这个问题在AIR 3.1版本解决了。
发现通过RTMPS通过WIFI +代理连接失败的iOS版本。
查看AIR 3.1 release notes了解更多信息。

+0

它可靠地为你工作吗?使用AIR调查iOS上的RTMPS与本地Obj C. –

1

我们只通过RTMP协议建立到服务器的连接。用rtmp代替rtmps,就可以建立连接。