SignalR を介してリアルタイムでやり取りするサービスがあります。HTML5 フロントエンドがありますが、ネイティブ iOS/Android アプリにコンパイルできる AIR を使用して Flash/Actionscript フロントエンドを作成したいと考えています。SignalR サーバー ハブとの通信に使用できるライブラリはありますか?
4 に答える
現時点では、Flash/ActionScriptプロキシジェネレータはありません。とにかくActionScriptが基本的に単なるJavaScriptであることを考えると、作成するのはかなり簡単です。あなたがする必要があるIJavaScriptProxyGenerator
のは、ActionScriptランタイムにそれ自体を最もよく活用して公開するプロキシを発行するカスタム実装を作成することです。
DefaultJavaScriptProxyGenerator
をジャンプオフポイントとして複製し(それを呼び出しますActionScriptProxyGenerator
)、代わりにjQueryベースのパターン/implを発行する実装の部分をActionScriptベースのパターン/implを発行するように置き換えることができます。
次に、ハブエンドポイントにアクセスしてスクリプトをFlashにダウンロードし(または、スクリプトを保存してFlashコンポーネントに静的に直接ビルドすることもできます)、実行を停止します。
これを行うことになった場合は、SignalRプロジェクトや他のFlash開発者が貢献してくれればきっと気に入るはずです。そうする場合は、必ずプルリクエストを送信してください。
それでも興味がある場合は、ここに JavaScript ブリッジ経由での signalR から as3 への完全な動作デモがあります。
https://github.com/blinemedical/SignalRToAs3
リポジトリの readme には、何が起こっているのかの説明と、何が起こっているのかを示すための .net のコンパイル可能なバックエンドと as3/flex のフロントエンドがあります。このサンプルでは、オブジェクトのシリアル化に古いバージョンのフッ素を使用していますが、どのバージョンでも動作するはずです。ご不明な点がございましたら、お気軽にお問い合わせください
いくつかのオプションがあります。
オープン ソース プロジェクトであるFluorineFXを使用し、リアルタイム通信のためのパブリッシャー/コンシューマーの使用法を調べます。FluorineFX は、厳密に型指定された .Net オブジェクトを ActionScript オブジェクトに変換し、シリアル化と逆シリアル化の時間を大幅に節約します。FluorineFX を使用して RPC 呼び出しを行ったり、非リアルタイム通信を行うこともできます。
サポートされている商用製品が必要な場合は、WebOrb.NETを使用してください。WebOrb はバランスが取れており、長い間使用されてきました。クローズドソース製品であることを除いて、FluorineFX が持つすべての利点があります。
Flash は、2001 年以来、WebSocket に似た XMLSocket を介したリアルタイムのステートフル通信をサポートしています。SignalR でオブジェクトを XML 形式で XMLSocket に発行できます。このオプションを使用して、独自の XML シリアライザーとデシリアライザーを作成する必要があります。また、XML の解析が非常に遅くなるため、パフォーマンスが低下します。
誰かがまだこれに興味を持っている場合は、https://github.com/jmichas/SignalRFで SignalR Flex/AS3 クライアント swc を入手できます。.Net クライアントとほとんど同じように動作します。使用例は github サイトで入手できます。