4

我们有一个通过 SignalR 实时来回通信的服务。我们有一个 HTML5 前端,但我想尝试使用 AIR 制作一个 Flash/Actionscript 前端,我可以将其编译为原生 iOS/Android 应用程序。是否有可用于与 SignalR 服务器集线器通信的库?

4

4 回答 4

2

目前没有 Flash/ActionScript 代理生成器。鉴于 ActionScript 基本上只是 JavaScript,因此创建起来相当简单。您需要做的就是创建一个自定义IJavaScriptProxyGenerator实现,该实现发出一个代理,该代理可以最好地利用并将其自身暴露给 ActionScript 运行时。

您可以将 克隆DefaultJavaScriptProxyGenerator为起点(称为它ActionScriptProxyGenerator),然后只需替换实现中发出基于 jQuery 的模式/impl 的部分以发出基于 ActionScript 的模式/impl。

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

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

于 2012-07-10T17:40:07.903 回答
2

如果您仍然感兴趣,我在这里通过 javascript 桥有一个完整的 signalR 到 as3 的工作演示:

https://github.com/blinemedical/SignalRToAs3

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

于 2012-12-25T19:36:23.940 回答
1

您可能有几个选择:

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

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

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

于 2012-07-10T17:53:52.663 回答
0

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

于 2014-01-11T00:48:19.343 回答