ばんわぁ、小堤です。
さて、ExtJS 3.0もうリリースですね。
で、Ext.directというネームスペースが増えていくつか機能が増えています。
PHPなどサーバサイドのスクリプトを実行することができる(擬似的に)なんだか、ASとかのAMFみたいな感じのこともできるんですが
今回は、ポーリング。
簡潔に言えば、応答待ちの処理が、そこそこ簡単に実装できるようになりました。
cometっていう、PUSH型配信もしやすいですね。まぁユーザー数があるサイトの場合は、サーバ側の構築も気をつけないとプロセスがすんごいことになっちゃうので要注意ですが。
さて、そのポーリングを使って、サーバのファイルが更新された、その内容をクライアントにPUSHするものを実際実装してみました。
まぁサンプルコードとか出す気はないんですが(笑)動きました。
ただ、フォーラムにも投稿したんですが、Ext.direct.PaulingProviderを使っているんですが、こいつは内部的にExt.TaskMgrを使って定期的にリクエストを送信してくれます。
なんですが、disconnectメソッドで、切断しても、現在投げている最中のリクエストは中断してくれません。
不便じゃねぇ?
ってことで、パッチってかUXで作って起きました。
typeでプロバイダ名を指定することはできないんですが、Ext.DirectのsetProviderでクラスインスタンスを設定すれば使えます。
ってことで、リンクしきますねぇ。
http://extjs.com/forum/showthread.php?t=65452