2011-07-06 9 views
2

ウェブページからサーバーアプリケーションへの長期実行バイナリ接続を開くことができます。私は頻繁に任意の間隔でサーバーからクライアントにデータをプッシュでき、かなり早く到着できるはずです(HTTP GETポーリングはおそらく不十分です)。私は、クライアント側でバイナリデータを解凍してデコードできるようにしたい。サーバが別のプロトコルを使用するように変更するのではなく、サーバがすでに独自のプロトコルを持っているからだ。ブラウザ側のJavascriptを使用したリアルタイムバイナリソケット接続

必要に応じて、ブラウザとサーバーの間で変換できるプロキシアプリケーションを挿入できますが、可能な限り最小限にします。また、サーバーまたはWebサーバーと通信するこのプロキシアプリケーションは、セキュリティモデルに影響を与える場合、Webページと同じドメインに存在することがあります。

私はSocket.IOのようなものを知っていますが、これは私が望むものに近いと思われますが、機能と制限が何であるかは分かりません。私はまた、これはJavaアプレットではかなり簡単だと知っていますが、プラグインを必要としないソリューションを望んでいます(または、最悪の場合はFlashが必要ですが、Javascriptで理想的な作業をしたいと思っています)。

また、クロスプラットフォームの可用性は重要です。デスクトップのブラウザの70%に問題がなければ問題ありません。しかし、古代のブラウザについては気にしない - 私はアップグレードするユーザーを魅了しない、ちょうど新しい何かをインストールしないでください。それがiPhoneやAndroidでも使えれば素晴らしいかもしれません。

私の最善の選択肢は何ですか?

+1

参照:http://stackoverflow.com/questions/307539/how-can-i-communicate-over-tcp-sockets-from-javascript – moonshadow

答えて

1

モバイル互換性が重要でない限り、XMLSocketを使用するFlashアプレットがおそらく最適です。送信可能なデータの形式にはいくつかの制約があります(すべてのデータはNULで区切られたパケットで送信されます)。ただし、必要に応じてプロキシするのは簡単です。

+0

このようなストリームでバイナリゼロを表現する便利な方法はありますか? – Kylotan

+0

何らかのエスケープ方式を採用するか、すべてをエンコードするだけです(例:16進、ベース64など)。多くの選択肢。 – duskwuff

関連する問題