2009年11月29日TweetPocketNSURLConnectionを使ってiPhoneとサーバー間でやり取りする実験です。NSURLConnectionクラスCocoaでデータ通信を行う場合にはNSURLConnectionクラスを使う。NSURLConnectionクラスを使うと、同期/非同期でHTTP通信を行うことができる。指定したURLの内容を読み込む機能が実装されており、これを使ってデータの送受信を行う。URLの読み込み手始めにGoogleのトップページ(http://www.google.com/)の内容を読み込むテストをしてみる。読み込む時に他の処理も停止してしまうと不便なので、非同期で読み込むように実装する。その場合の処理の流れは下記の用になる。どのURLを読み込みに行くか、というリクエストを作成するリクエストを元にHTTP通信を開始させる通信に成功/失敗すると、指定したデリゲート先のオブジェクトのメソッドが呼ばれるそこでデータを解析するなどする実際に実装してみると下記のようなコードとなる。release];}@endなお、なぜか上記のコードでは一行目だけがうまくログに表示されないという不具合が発生している。受信データをファイルに書き出して確認する限りでは一行目もデータとしては正しく受信できている。AM本HPのソースを参考にさせていただいて、アプリをコーディングしていて気づいたのですが、1行目のデータがログに表示されないのは、receivedDataをインスタンス化する際に下記のように1バイト目を0埋めしている為です。initWithLength:1];上記によって、1バイト目の文字列が壊れて表示できなくなり、二行目以降しかログ表示されなくなっています。下記のようにインスタンス化すれば1行目のデータも正しく出力されます。PMご指摘ありがとうございます。大分前に書いたコードで、今見てみると他にも色々気になる点があるのでそのうち直さなきゃな...。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイトご意見、ご感想をお願いします。