iPhoneネットワークプログラミング(同期通信)

このエントリーを含むはてなブックマークはてなブックマーク - iPhoneネットワークプログラミング(同期通信)

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 Responses to “iPhoneネットワークプログラミング(同期通信)”

  1. [...] iPhoneアプリと、そのプログラム iPhoneアプリを作る際に役立つプログラムを置いています コンテンツへ移動 ホーム紹介 ← iPhoneネットワークプログラミング(同期通信) [...]

  2. [...] iPhoneネットワークプログラミング (同期通信) iPhoneネットワークプログラミング (非同期通信) [...]

Leave a Reply

You must be logged in to post a comment.