comet pek bilinmeyen, kullanılmayan ama ustasının ellerinde cok faydalı sonuclar ortaya çıkaran bir yöntem.
php xajax kullanlar ajax yontemi ile server'a istekler gönderebiliyorlar peki ya bunun tam tersi nasıl olurdu,
yani server size data gönderse ? :)

örneğin bir chat scripti;
-bunu temel mantığı her 3 saniyede bir server'a istek gönder yeni mesaj varmı sor varsa yeileri al client ekranında göster.
-comet ile bir chat sripti yaparsak 3 saniyede yeni mesaj varmı diye sorma işlemi ortadan kalkıyor, yeni mesaj varsa server client a kendisi gönderiyor.

comet:
aslında çok kompleks bişey değil , ana fikir şu: server ile client arasında uzun ömürli bir http bağlantısı aç, işlemleri bu bağlanti üzerinden gerçekleştir.

xajax + comet
php xajax kütüphanesini : http://xajaxproject.org/en/download/ adresinden indirebilirsiniz.

comet eklentisi : http://xajaxproject.org/developer/q_no/Comet/comet.php adresinden indirebilirsiniz.

Basit bir örnek :
ne iş görecek : 100 e kadar sayacak, fakat herhangi bir istekte bulunmayacağız, sayıları server bize gönderecek.

PHP:
  1. <?php
  2. $core="./xajax_core";
  3. require ('xajax_core/xajax.inc.php');
  4. $xajax = new xajax();
  5. require_once $core . '/xajaxPlugin.inc.php';
  6. require_once $core . '/xajaxPluginManager.inc.php';
  7. require_once './xajax_plugins/response/comet/comet.inc.php';
  8.  
  9. $xajax->configure('javascript URI', './');
  10.  
  11. $xajax->register(XAJAX_FUNCTION,"testComet",array("comet" => true));
  12. function testComet () {
  13.     $objResponse = new xajaxCometResponse(0.3);
  14.     for ($i=1;$i<=100;++$i) {
  15.         $objResponse->assign("streaming","innerHTML",$i);
  16.         $objResponse->flush();
  17.         sleep(1);
  18.     }
  19.     return $objResponse;
  20. }
  21.  
  22. $xajax->processRequest();
  23. ?>
  24.  
  25. <html>
  26. <body>
  27. <head>
  28.     <title>xajax example</title>
  29.     <?php
  30.         $xajax->printJavascript();
  31.     ?>
  32. </head>
  33. <div id="streaming">----</div>
  34.  
  35. <script language="JavaScript">
  36. <!--
  37.     xajax_testComet();
  38. //-->
  39. </script>
  40.  
  41. </body>
  42. </html>

>

3 Yorum “xajax + comet plugin kullanımı”

  1. ilker :

    Hocam çok önemli bir konuya değinmişsiniz.Öncelikle teşekkürler…
    Yanlız malum benim gibi php bilmeyen arkadaşlar için eğer mümkünse asp.net ile olan bir örnek yayınlayabilirmisiniz… Hem bu sayade gerekli ilgi ve alakayı şimdilik bulamayan comet programlamanın gelecekte ne kadar önemli olacağını hatta yeni bir çağ başlatacağı kanısındayım. Umarım bu konudaki ricamı kırmazsınız. İlgi ve alakanıza teşekkür eder çalışma hayatınızda başarılar dilerim..

  2. mucahid1986 :

    Güzel anlatımınız için teşekkürler. Çok fatdalı oldu.

  3. murat :

    çok saolun bende böyle bşy nasıl yapılır çok merak ediyodum tam olarak çalışmadı bende aşadaki şu hataları verdi ve 46 ya kadar sayıyo yardımcı olursanız sevinirim çok saolun bu makale için

    Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\den\xajax_core\xajax.inc.php on line 360

    Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\den\xajax_core\xajax.inc.php on line 1305

    Notice: Constant FILE_APPEND already defined in C:\wamp\www\den\xajax_plugins\response\comet\comet.inc.php on line 2
    46

Cevapla

Son Yazılar :

PHP ile Çok Basit Bir Ziyaretçi Defteri Örneği

PHP ile Çok Basit Bir "Ziyaretçi Defteri Örneği" yapalım. Veritabanı tablomuz : PLAIN TEXT SQL: CREATE TABLE IF NOT EXISTS `ziyaretci` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `ad` varchar(60) NOT NULL,   `soyad` varchar(60) NOT NULL,   `email` varchar(255) NOT NULL,   `yorum` text NOT NULL,   `tarih` date NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=MyISAM  ; PHP kodlarımız: PLAIN TEXT PHP: <?php # form gonderidldi mi? if(!empty($_POST)){     [...]

Proxy Listesi

Proxy Listesine ihtiyacınız varsa : http://www.proxy-list.org adresini kullanabilirsiniz.

MySQL TRIM

UPDATE urun SET desc_urun = TRIM(TRAILING '<LI><A href="http:' FROM desc_urun) WHERE urun_id='5656' LIMIT 1; bu sorgu ile ürün açıklamasının sonunda yer alan hatalı html tagini siliyoruz. sadece hatalı olan ve sonda olan "<LI><A href="http:' FROM desc_urun" yi silecek.

Fonksiyon Hatırlatıcı windows masa üstü uygulaması

3 yıl kadar önce delphi ile yazdığım küçük bir windows masa üstü uygulaması. Görevi programcıya kullandığı dilin fonksiyonlarını hatırlatmak. 5sn,10sn,..vs ara ile ana penceresine bir fonksiyon adı ve ne işe yaradığı bilgisini getiriyor. Fonksiyon adları ve görevleri data.xml de (data.xml .exe program ile aynı dizinde olmalı) . isteyen arkadaşlar data.xml i faklı amaçlar için dönüştürebilirler. Mesela Türkçe-İngilizce sözlük kelime [...]

Aynı tablodan select edip update etme - mysql

Aynı talbodaki 1 nolu urunun açıklamasını 2 nolu ürünün açıklamasına set etme UPDATE urun_dt AS toTable, urun_dt AS fromTable SET toTable.desc_urun=fromTable.desc_urun WHERE toTable.urun_id=1AND fromTable.urun_id=2;