電柱日報

日々の由無し事

ソフトバンクがTCP/IP通信をアプリに開放

auに続き、ソフトバンクもアプリの通信方式としてhttp以外のTCP/IP通信が可能になるようです。
これで3大キャリアではNTTドコモ以外はアプリからの自由な通信環境が整いました。
ネットワーク対応のアプリを作る場合、これは大きなアドバンテージですよ。
httpだと通信は必ず「クライアント(携帯端末)側がリクエストを投げて、サーバ(サービス提供側)が応答を返す」という流れになります。クライアント側の状態変更をサーバに伝える分には良いのですが、サーバ側の状態が変わってもクライアントからのリクエストがない限りはその情報を伝える手段がありません。
これは、特にリアルタイム性が必要な対戦アクションゲームや、多人数が同時に参加するMMO(MO)RPGなどで非常に大きな制限になります。
HTTPで常時変化する状況に対応するには、決められた間隔でリクエストを投げる事になりますが、サーバ側に変更があろうがなかろうが行われるため無駄な通信が多くなります。ここで、1秒間隔でリクエストを投げる場合、自分の状態もサーバ側の情報も1秒ごとにしか更新されませんので、もし、他のプレイヤーが操作しているキャラの位置情報を拾おうとしても、1秒以上のタイムラグが発生します。(RPGならともかく、アクションゲームなどはとてもできる状況ではありません)
これを避けるにはリクエスト間隔を短くするしかない訳ですが、その事によってアプリのパフォーマンスにも影響が出ますし、通信によるバッテリーの消耗も激しくなってしまいます。さらには、HTTPではクライアントからのリクエストにしてもサーバからの応答にしても決められたフォーマットがあり、伝えたい情報量以上のデータ通信が発生します。そのため、短間隔でリクエストを投げまくると実際に送りたいデータ量の何倍もの無駄(でもないんですが)な通信が行われる事になってしまいます。
それに対して、通常のTCP/IP通信では、クライアントとサーバの間に直通回線を維持することで、クライアント側からもサーバ側からも自由に情報を投げることができ、どのタイミングにどんな形でデータを送るかもアプリ製作者が決めることができるるので、HTTPで必要な手続き部分を節約することも可能。
……などと長々と書いてしまいましたが、要するにドコモもアプリにTCP/IP通信を開放してくれないかな〜、って事でございますよ。
最初はドコモの認証を受けるiアプリDX向けだけでも良いですから。
ね?
ネット麻雀なんかも快適になるでしょうし、公式アプリが対応するだけでも結構違うと思うんだけどナー。