« 「あとで読みタイ」がただのRSSリーダーになった件 | メイン | YouTubeをデモに使ってみる »

こちら側の非同期とあちら側の同期(2006/11/28)

Hatena_komatta_3  思いついたことの走り書き。

 UIEngineは非同期通信によりUIをブロックしないという方針で作られている。これはご存知の通り。で、通信相手のサーバーがすぐにレスポンスすることがかなり保証されている状態、というのが現状の前提。

【UIEngine】←高速レスポンス→【サーバー】

こういう感じ。仮にサーバーがなかなかレスポンスを返さないと、UIEngineは次のリクエストを出せないので(※)、UIはブロックしなくても欲しい時に欲しいものが手元に無いこともありうる。(※実際にはリクエストはキューに入れられて待機する。)

 ここまでの話なら、サーバーを強化すれば良いでしょ?ともなるのだが、

【UIEngine】←高速レスポンス→【サーバー】←?速レスポンス→【某ウェブサービス(API等)】

のときは自分では何ともしがたい。キャッシュ等の回避方法はあるが。

 あるいは、Cometの話にもあったように、サーバー側で意図的にレスポンスを遅らせることでサーバーからクライアントの関数をコールするなんてこともできるのだが、

【UIEngine】←遅レスポンス→【サーバー】

となり、クライアントは次のリクエストをいつ出せるのか不明。(※コネクションが一本しかはれない前提)

 結局、高速レスポンスが良いものと、遅レスポンスが良いものをうまくミックスすると面白いものができそうな予感だが、現状UIEngineはコネクション一本のようなので無理。複数のコネクションが貼れるようになって欲しい。

トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a00d8341c2e2e53ef00e550aab4738834

こちら側の非同期とあちら側の同期を参照しているブログ:

コメント

この記事へのコメントは終了しました。