Flash到SignalR通信

时间:2012-07-02 13:50:52

标签: flash actionscript signalr

我们有一个服务通过SignalR实时来回通信。我们有一个HTML5前端,但我想尝试使用AIR创建一个Flash / Actionscript前端,我可以将其编译为本机iOS / Android应用程序。是否有可与SignalR服务器中心通信的库?

4 个答案:

答案 0 :(得分:2)

目前没有Flash / ActionScript代理生成器。考虑到ActionScript基本上只是JavaScript,创建起来相当简单。您需要做的就是创建一个自定义IJavaScriptProxyGenerator实现,该实现会发出一个代理,该代理最好地利用并向ActionScript运行时公开自己。

您可以将DefaultJavaScriptProxyGenerator克隆为跳出点(称之为ActionScriptProxyGenerator),然后只需替换发出基于jQuery的patterns / impl的实现部分,以发出基于ActionScript的模式/ impl而不是

然后您要做的就是点击Hub端点将脚本下载到Flash中(或者您可以将其保存并静态构建到Flash组件中),然后您就可以开始运行了。

如果你最终这样做我肯定SignalR项目和其他Flash开发人员会喜欢你贡献它,所以如果你这样做,请务必发送拉取请求!

答案 1 :(得分:2)

如果您仍然感兴趣,我可以通过javascript bridge在这里找到signalR到as3的完整工作演示:

https://github.com/blinemedical/SignalRToAs3

回购自述文件解释了正在发生的事情,以及.net中的可编译后端和as3 / flex中的前端,以演示最新情况。该示例使用旧版本的氟进行对象序列化,但任何版本都应该有效。如果您有任何问题,请随时提出

答案 2 :(得分:1)

您可以选择几种方式:

  1. 使用FluorineFX,开源项目,并查看Publisher / Consumer的使用情况,以进行实时通信。 FluorineFX会将强类型的.Net对象转换为ActionScript对象,这样可以节省大量的序列化和反序列化时间。您还可以使用FluorineFX进行RPC调用以及非实时通信。

  2. 如果您更喜欢支持的商业产品,请使用WebOrb.NET。 WebOrb是全面的,已经存在了很长时间。它具有FluorineFX的所有优势,除了它是一个封闭源产品。

  3. 自2001年以来,Flash一直通过XMLSocket支持实时,有状态的通信,类似于WebSocket。您可以让SignalR以XML格式将对象发布到XMLSocket。您必须使用此选项编写自己的XML序列化程序和反序列化程序,而且由于XML解析速度慢得多,性能会更差。

答案 3 :(得分:0)

如果有人仍对此感兴趣,我在https://github.com/jmichas/SignalRF处有一个SignalR Flex / AS3客户端swc。它的运行方式与.Net客户端非常相似。用法示例可在github网站上找到。