ソケットが利用可能なときにHTTPの長いポーリングを使用する(例:iPhone、BlackBerry)

StackOverflow https://stackoverflow.com/questions/3490873

質問

現在、サーバーとWeb/iPhone/BlackBerryクライアントにnode.jsを使用したシンプルなクロスプラットフォームアプリを作成しています。帯域幅とレイテンシの要件は、IRCの「パーティーゲーム」またはチャットシステムに表示されるものに似ています。 HTTP Long Pollingを使用してWebクライアントを開発しました(両方の方法でJSONを話しました)。

iPhone/BlackBerryの場合、組み込みのHTTPライブラリを使用して現在の実装と通信したり、サーバーにソケットリスナーを書いたり、ソケットを使用して話したりすることができます。そうすることに何か利点はありますか?なぜ非ブラウザーHTTPクライアントが落胆しているように見えるのですか?

役に立ちましたか?

解決

ネットワークスタックの技術的な詳細については十分に知らないので、iPhoneに話すことはできませんが、ブラウザからのBlackBerry HTTP要求の場合、一般的にアプリが開始した要求とは異なる扱いになります。ソリューションとしてのBlackBerryは、デバイス側のTCP/HTTPスタックだけでなく、モバイルデータサービス(BES/MDS)を備えたBlackBerry Enterprise Serverを含むBlackBerryサービスだけでなく、BlackBerry Enterprise Serverが含まれます。エンタープライズネットワーク、またはMotionの研究では、Mobile Browserからすべての接続をプロキシをプロキシをプロキシをプロキシでホストしました。これらのサーバーは、モバイルデバイス(画像など)によってコンテンツをより消耗させるために、Cookie、認証、コンテンツのコンテンツトランスコーディングのいくつかの側面を処理するなど、多くのことを行うことができます。 BES/MDSの場合、HTTPS接続で安全なエンドポイントとして機能することもできます。

とにかく、これはまた、通常のTCP/HTTP接続から期待される多くの機能が実際にデバイスから外れているため、キャリアまたはエンタープライズまたはRIMによって制御できることを意味します。中央のさまざまなサーバーがTCPソケットについてHTTP接続についてできるだけ多くの仮定を行うことができないため、HTTPリクエストを混乱させることができないため、Bare-Bonesソケットは異なります。多くのBlackBerryアプリは、実際にその理由でソケットレイヤーの上に独自のHTTPクライアントを作成することになります。そのため、HTTP Long Poll(comet?)のようなことをする必要がある場合は、間違いなくソケット接続の上に書いてください。組み込みのHTTP接続ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top