folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder PHP Long Polling Hakkında



PHP Long Polling Hakkında

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    PHP Long Polling Hakkında bilgisi olanlara bir sorum olacak hocalar. (Onca siyasetin ardından yazılıma geri dönelim :P)

    Bilenler bilir malum ben ASP'ciyim :D ASP'ye çeviresim var bu olayı internette kaynak bulamadıgım zaman yaptıgım genel şeydir bu.

    Ama mantıgını anlayamadıgım olay usleep. Bu fonksiyon ne işe yarar nasıl bir döngü kurar biri açıklayabilir mi. Mantıgını anlatabilir mi. Ona göre yapılıp yapılamayacagına (kendi sitemde uygulamaya) karar verecegim.?

    PHP kodlarını inceledim jquery ile birlikte. Jquery mantıgını anladım zaten şuanki kullandıgım sistemin aynısı.

    Tek farkı veri alırkenki (read) dosyası benim kodlarımda her yenilemede yükleniyor birşey varsa 0 kb döngü dönderiyor. Cpu ve ram sorununu bu şekilde aştım.

    Fakat long polling daha ilgi çekici geldi :D Bir tek network gürültüsünde php'de yükleme sürekli sürüyor (pending yazıyor benimkindeyse yükleniyor direk). Eger yeni veri gelirse ancak duruyor. Gelmezse yüklenmeye devam ediyor. Bu nasıl bir mantıkla ortaya çıkmış olabilir?


    edit: usleep, sleep farketmez. Belirli bir süre betik beklesin sonra devam etsin. bunun mantıgı ne olabilir ki. sonucta bunun da arkaplanda çalıştırdıgı bir function var.


    iyibu! yeniden..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snnyk
    snnyk's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    sleep ile usleep aynı işi yapıyor 

    sleep saniye cinsinden usleep ise micro saniye cinsinden kalan betiğin çalışmasını geciktiriyor


    snnyk.com - code is poetry all that i know...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek

    Garip bir olay bi aralar bakmıştım. ASP'de yapmaya çalışmıştım tam olarak çalıştıramıyordum.

    PHP ile de pek araştırmadım ama sistem sleep(); üzerine çalışıyorsa yine CPU'da bir yükselme olacaktır.

    Amaç while döngüsünün kısır döngü olmasını engellemek için Server'a dinlendirme yapmak sleep(1); //1 saniye bekle.

    Bunun jQuery yönü nasıl olacak peki?

    Sürekli sayfayı kontrol mü edecek?

    Kafam karıştı şimdik.


    İmza...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snnyk
    snnyk's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    aynen öyle hocam 

    ajax ile tekrar tekrar girilen son veriler gönderiliyor 

     


    snnyk.com - code is poetry all that i know...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    pSkpt bunu yazdı

    Garip bir olay bi aralar bakmıştım. ASP'de yapmaya çalışmıştım tam olarak çalıştıramıyordum.

    PHP ile de pek araştırmadım ama sistem sleep(); üzerine çalışıyorsa yine CPU'da bir yükselme olacaktır.

    Amaç while döngüsünün kısır döngü olmasını engellemek için Server'a dinlendirme yapmak sleep(1); //1 saniye bekle.

    Bunun jQuery yönü nasıl olacak peki?

    Sürekli sayfayı kontrol mü edecek?

    Kafam karıştı şimdik.

    Hocam örnek için http://www.iyibu.org/dosyalar/comet.zip

    İndir incele.

    Buarada asp ile de bir çözüm buldum tabi. mysql ile fakat benim sistem daha az cpu harcıyor hocam :P

    Mantık phpde basit uygulama için kafa patlatmak gerek -benim anladım dilden şöyle: sonsuz bir döngü yapıyorsun. verileri çekiyorsun. bu döngü içinde her veri geldiginde yazdırıyor sonra işleme devam. böylece chrome pending yazısını görüyorsun olay bu en basitinden :D tabi expertler daha iyi tanım yapabilir. fakat aspde gereksiz buldum. tek iyiligini network gürültüsünde daha az yer kaplıyor (her mesaj geldiginde yeni event kaydediliyor, bendeyse her 5 saniyede bir bi event var)

     

     


    iyibu! yeniden..
Toplam Hit: 900 Toplam Mesaj: 5