xAjax + Comet plugin kullanımı
Yazan: ayhan,PhpTags/Kelimeler: comet, uzun ömürli bir http bağlantısı, xajax, xajax comet, xajax plugin
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://xajax-project.org/en/download/ adresinden indirebilirsiniz.
comet eklentisi : http://xajax-project.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
-
$core="./xajax_core";
-
require ('xajax_core/xajax.inc.php');
-
$xajax = new xajax();
-
require_once $core . '/xajaxPlugin.inc.php';
-
require_once $core . '/xajaxPluginManager.inc.php';
-
require_once './xajax_plugins/response/comet/comet.inc.php';
-
-
$xajax->configure('javascript URI', './');
-
-
function testComet () {
-
$objResponse = new xajaxCometResponse(0.3);
-
for ($i=1;$i<=100;++$i) {
-
$objResponse->assign("streaming","innerHTML",$i);
-
$objResponse->flush();
-
}
-
return $objResponse;
-
}
-
-
$xajax->processRequest();
-
?>
-
-
<html>
-
<body>
-
<head>
-
<title>xajax example</title>
-
<?php
-
$xajax->printJavascript();
-
?>
-
</head>
-
<div id="streaming">----</div>
-
-
<script language="JavaScript">
-
<!--
-
xajax_testComet();
-
//-->
-
</script>
-
-
</body>
-
</html>
Entries (RSS)
20/08/2009 , 12:01
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..
26/03/2010 , 02:43
Güzel anlatımınız için teşekkürler. Çok fatdalı oldu.
15/05/2010 , 07:27
ç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
02/07/2010 , 10:03
[...] http://www.ayhanbaris.com/php/xajax-…gin-kullanimi/ Kampanya 15 TL Linux Hosting ve Sýnýrsýz Özellikler Web Design Services - ulviercan.com Ücretsiz Sayaç Servisi - sayac.ulviercan.com Alýntý Yaparak Yanýtla + Cevap Yaz « Önceki Konu | Sonraki Konu » [...]
03/07/2010 , 05:46
[...] bu olaya bir açýklýk getirir ise çok sevinirim. iyi çalýþmalar. (*php için tasarlanmýþ bir örneðe buradan ulaþabilirsiniz.) bilgi paylaþtýkça ve deðer gördükçe çoðalýr ! http://www.netteemlak.com - [...]
05/07/2010 , 10:38
gerçekten harika olmuş nette comet ile ilgili fazla döküman yok
phplive x kullanıyordum fakat artık xajax a geçmeyi planlıyorum
18/06/2011 , 08:41
[...] tampondaki veriyi istemciye gönderip tamponu boþaltýr. Yani sorununuzu çözmekte kullanýlamaz. http://www.ayhanbaris.com/php/xajax-…gin-kullanimi/ Böyle yerlerde kullanýlmaktadýr. http://www.php.net/manual/tr/function.flush.php adresinde ise [...]