|
IT総合情報ポータル「ITmedia」 |
ITとビジネスのニュース専門サイト「ITmedia News」 |
企業のためのIT情報サイト「ITmedia エンタープライズ」 |
IT製品導入支援サイト「TechTargetジャパン」 |
経営者とCIOのコミュニティー「ITmedia エグゼクティブ」 |
PCとMacの専門サイト「ITmedia +D PC USER」 |
携帯、スマートフォンの専門サイト「ITmedia +D Mobile」 |
電子書籍の専門サイト「ITmedia eBook USER」 |
デジカメの専門サイト「ITmedia デジカメプラス」 |
AV機器の専門サイト「ITmedia +D LifeStyle」 |
旬なモノネタ「ITmedia ガジェット」 |
ニコ生、Ustreamの動画番組表「ライブガイド」 |
ビジネスブログ・メディア「ITmedia オルタナティブ・ブログ」 |
ちょっと気になるネットの話題「ねとらぼ」
サーバと通信を行ってみるサーバとの通信携帯は非力なものだから,携帯ですべての処理を行うのが難しい局面もある。またゲームのように,ネットワーク通信を交えた方が,より楽しめるつくりにできる場合もある。したがってiアプリにとって,サーバとの通信は行わなくてはならない課題みたいなものといえる。 といっても,サーバと通信を行うにはサーバ側にもプログラムがいる。iアプリだけで済む問題ではないので,テストやデバッグが難しい。 iアプリは,以前にも述べたようにHTTPを擬似的に扱うことしかできない。したがってサーバと通信するといっても,使えるプロトコルはHTTPに限定されている。 HTTPは主にサーバ→クライアント方向の通信を行うものだが,クライアント→サーバ方向の通信もサポートしている。Webページのアンケート集計などに使われているGETメソッドやPOSTメソッドがそれだ。 CGIプログラムなどを作ったことがある人なら,よく知っていると思うが,この2つのメソッドでサーバに対して文字列データをポストすると,GETメソッドなら環境変数経由(QUERY_STRINGという環境変数にクライアントからの文字列が入る)で,POSTメソッドなら標準入力経由でCGIプログラムから読み出すことができる。したがって,iアプリとサーバの通信は,
問題は,サーバサイドのプログラムに何を使うかだ。iアプリの仕様書には,サーバサイドプログラムの例としてJavaが取り上げられているが,WebサーバでJavaが使えない人は少なくないだろう。サーバサイドのプログラムで使える言語の定番といえば普通は,Perlやruby,あるいはC言語あたりだろうと思う。 何を使っても同じといえば同じだが,まずはC言語でサーバに簡単なCGIを仕掛けて,iアプリの通信の実際を調べてみることにしよう。サーバサイドの仕掛けたプログラムのリストを1に示す。 リストを見ると分かるように,iアプリからはPOSTメソッドを使ってデータを送信する。そのデータをリスト1では標準入力から読み取り,未加工のまま文字列をiアプリにレスポンスとして返すだけのプログラムだ。 iアプリサイドのテストプログラム次にiアプリサイドのテストプログラムをリスト2に示しておこう。以前にサーバにアクセスしてデータ(画像)をダウンロードするプログラムを取り上げたが,その文字列版といったところだ。リクエストにPOSTメソッドを設定し,ユーザーが入力した文字列をサーバに送信するようになっている。 なお,サーバとしては筆者がリスト1のプログラムを仕掛けたURLを指定した。 リスト2のプログラムは,いつものようにhttp://gadget.mda.or.jp/i/net.htmlからダウンロードできるようにしてある。いろいろと文字列を打ち込んでサーバに対して送信してみてほしい。ネットワーク通信の実際が体験できるはずだ。次回は,この通信のテストを進めて,より実用的なサーバ−クライアント通信につなげていく予定だ。 [米田聡,ITmedia] 関連記事 連載バックナンバー Copyright© 2012 ITmedia, Inc. All Rights Reserved. Special
おすすめPC情報テキストモバイルショップ
FEED BACK |