2

アプリにデータをプッシュできるように、Cometd サーバーと通信するプログラムを作成したいと考えています。

私は AJAX を使用して Web 側でこれを行いましたが、Cocoa でこれを行う最善の方法が少しわかりません。

NSURLRequest と NSURLConnection を使用して標準接続を確立できますが、必要なときにデータを送信し、必要なときにプッシュされた情報を取得できるように、この接続を維持するにはどうすればよいでしょうか。

私はこれを正しい方法で行っていますか?

前もって感謝します

4

1 に答える 1

2

プッシュ通知に関しては、http サーバーが接続を閉じない場合、NSURLConnection は開いたままになり、データを取得し続けます。そのようなものを設計している場合は、サーバーが接続を閉じるまで同期接続が終了しないため、非同期 NSURLConnection メソッドを使用する必要があることに注意してください。

より多くのデータを送信することに関しては、実際にはそうするようには設計されていません。送信した後に単一の http リクエストでさらにデータをプッシュしたい場合 (これはかなり悪い考えのように思えます)、使用できるオープンソース コンポーネントを見つけるために http スタックをロールバックする必要があります。

NSURLConnection はキープアライブなどを適切に使用することに注意してください。そのため、アプリで同じホストへの複数の論理接続を開始すると、同じキープアライブ接続などを使用してネットワーク上で終了する可能性があります。

于 2008-11-11T22:12:29.750 に答える