2011-01-24 6 views
0

私はNSDataというオブジェクトをいくつかのHTTP応答またはリクエストをまとめて連結しています。この要求/応答のストリームを個々のCFHTTPMessageRefオブジェクトにトークン化する最も効果的な方法は何ですか?Objective-CでのHTTPメッセージのトークン化ストリーム

私の現在のアプローチは、私は、この特定の要求に関連する体の長さを決定するためにContent-Lengthヘッダの値を取得その時点でCFHTTPMessageIsHeaderComplete戻りYES、までの時間でデータを1本のラインを読み取ることです。

このアプローチは合理的にうまく動作しますが、chunked transfer encodingの場合は失敗します。私は今チャンクされた転送に対処するために追加ロジックを追加することができますが、私の解析ロジックは私が望む以上に大きくなります。同様に、私は現在よく整形されたメッセージを取り扱っているだけです。メッセージが完全にフォーマットされていないと、メッセージが飛び出すことになります。

は、個別のHTTPメッセージへのデータの流れを解析することができますObjective-Cのクラスのセット(理想的には)ありませんか?これはlibcurlが実行できるものですか?

答えて

0

いいえ、libcurlはこれを分割することはできません。ネットワーク経由で受信した実際のHTTP応答のみを分離します。

+0

ヘッドアップありがとう。私はトークン化コードを考慮に入れて終了しましたが、あまり問題はありませんでした。私ができるだけ少ない仕事で逃げることができるかどうかを見たいだけでした。 :) –

関連する問題