iPhone ネットワークプログラミング その1
サイトを移行しました。
iPhoneアプリと、そのプログラム
第1回:同期通信によるデータの取得
iPhoneのネットワークプログラミングに関して
あまり資料がないのはなぜだろう?
Macの開発とかなり似ているからだろうか?
しかし、Macのネットワークプログラミング自体
マイナだと思うんだけど(笑)
そんなこんななモチベーションで
iPhoneネットワークプログラミングについて書いてみようと思う。
まずはじめに、簡単なサンプルから。
GoogleのトップページのHTMLを取得するプログラムです。
今回は同期通信でデータを取得するバージョンです。
同期通信とはデータが送り返されてくるまで何もしない、
つまり待ち続ける通信方式です。
これに対して、非同期通信とはデータが送り返されてくるのを
待たずに次の処理を始める通信方式です。
実際のプログラムがこちら。
- (void)viewDidLoad {
[super viewDidLoad];
NSString *url = [NSString stringWithString:@"http://www.google.co.jp"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:&error];
NSLog(@"%@", [[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding] autorelease]);
}
上のプログラムを実行するためには
View-based application でプロジェクトをつくって
ViewdidLoad関数の中にプログラムを書くだけです。
NSURLRequestクラスのインスタンスにサーバのアドレスを登録し、
sendSynchronousRequestメソッドを使ってリクエストを送ります。
このメソッドの戻り値としてサーバのHTMLがNSData型で返されてくるので、
NSStringクラスのinitWithDataメソッドを使ってNSStringに変換して表示しています。
次回は非同期通信でのやりとりを説明します
iPhone ネットワークプログラミング その2