Soru - Cevap Bölümü
/ Kategori: Programlama
20/05/2005 - 08:11:07 cevap (4) Okunma : 8279 Bu yazıyı 0 kişi tuttu.
Reload ve Refresh ile online kullanıcı sayısı hesaplama
merhaba, çerçevelerden birindeki bir sayfaya aktif ziyaretçi sayısını gösteren bir kod bloğu ekledim. ancak bu kodlar ziyaretçiye, girdiği andan sonraki girişleri göstermiyor. Kod bloğunu başka bir sayfa olarak kaydettim ve ilgili sayfaya 15 saniyede bir tazeleme için şu kodu ekledim:
<InvalidTag http-equiv='refresh' content='15'>
istediğim şey oldu fakat istemediğim bir şey daha oldu. ilgili sayfadaki reload işlemi kendisini çağıran sayfayı da yeniden yükledi. dolayısıyla aynı çerçevede bulunan sayaç da bu durumdsn etkilendi. yani, ziyaretçi sayısı da her tazelemede artmaya başladı.
kısaca sayfadaki başka değişkenleri etkilemeden aktif ziyaretçi sayısını belli aralıklarla (örneğin 30 saniyede bir) göstermenin bir yolunu öğrenmek istiyorum.
bir de yukarıdaki kodala yapılan tazeleme işlemininin yerine belli aralıklarla bir değişkenin değerini kontrol imkanı var mı acaba?
ilginiz için şimdiden teşekkürler
Cevaplar
( Faydalı Cevapları Göster )
Bu olaya paralel olduğunu düşündüğüm bir soru sormak istiyorum. Oturum açma ile ilgili.
Kullanıcı kullanıcı adı ve şifresi ile bir bilgisayarda oturum açtığında, aynı kullanıcı adı ve şifre ile başka bir bilgisayarda oturum açmasını nasıl engelleyebiliriz.
Ya da bir önceki nin kapanmasını nasıl sağlayabilriz. Bir çok çözüm düşündüm ancak Application faaliyet alanının doğasını tam olarak çözememem nedeniyle başarısız oldum. iyi çalışmalar.
Not: ColdFusion üzerinde Ajax ile çalışmak için bir kaynak http://www.indiankey.com/cfajax/.
Bu olaya paralel olduğunu düşündüğüm bir soru sormak istiyorum. Oturum açma ile ilgili. Kullanıcı kullanıcı adı ve şifresi ile bir bilgisayarda oturum açtığında, aynı kullanıcı adı ve şifre ile başka bir bilgisayarda oturum açmasını nasıl engelleyebiliriz. Yada bir önceki nin kapanmasını nasıl sağlayabilriz. Bir çok çözüm düşündüm ancak Application faaliyet alanının doğasını tam olarak çözememem nedeniyle başarısız oldum. iyi çalışmalar.
Bu ayrı bir konu, cevabı da biraz uzun. Yeni bir forum açmanızda yarar var.
Etkinlikler
Konferans
2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08
2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08
2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori:
Konferans
MMIstanbul Adobe UG
ColdFusion, Flex, AIR, Flash , PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Connect, Premiere, Soundbooth, Contribute, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 230 (2 kayıtlı, 228 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
500 Hatası Hakkında!
merhaba arkadaşlar, bir önceki yazıda bahsettiğimiz üzere sunucunun ram ihtiyacını yavaş yavaş gidermeye başladık. An itibariyle 2 Giga d ...
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız
MMIstanbul Online Seminerlerine Nasıl Katılabilirim?




Kullandığınız yöntem gayet mantıklı. Başka yöntemlerde var, fakat onlara geçmeden tuhaf olan asıl noktaya değinmekte yarar var.
Bir çerçevenin 15 saniye de bir yenilenmesi normalde ziyaretçi sayısını artırmaz. Sizde artış olması iki nedenden kaynaklanıyor olabilir:
1. Ziyaretçi sayısını yanlış saydırıyor olabilirsiniz. 2. Session timeout’larıyla ilgili bir problem olabilir 3. Cookie’lerle ilgili bir problem olabilir.
Bu hususları kontrol etmenizde fayda var.
Ziyaretçi sayısını saydırmak için öncelikle Coldfusion 7’deki Application.cfc özelliğinden yararlanmanızı tavsiye ederim. Application.cfc içerisinde kullanabileceğiniz onSessionStart ve onSessionEnd metotları her ziyaretçi/oturum açıldığında ve kapandığında otomatik olarak çalışırlar. Bu özellikten yararlanarak "application" skobundaki ziyaretciSayisi adındaki bir değişkeni artırıp azaltarak aktif ziyaretçi sayısını öğrenebilirsiniz. Şimdiye kadarki toplam ziyaretçi sayısını öğrenmek için ise "application" skobun’daki bir değişkeni her oturum açıldığında arttırsınız, oturum kapandığında ise azaltMAzsınız.
Sanırım siz toplam ziyaretçi sayacı yapmak istiyorsunuz. Bunun için Application.cfc’ye de gerek yok. Application.cfm ile de rahatlıkla yapılır:
Kodu test etmediğim için hatalar olabilir, genel fikir vermesi için yazdım. Bu kodu kullanırsanız sayım doğru yapılacaktır. Ancak önce sessionManagement’ı aktif etmelisiniz (bilmeyenler için: <cfapplication> etiketini inceleyin.)
Sayacımızı hallettik. Sonrasında sizin yaptığınız gibi bir frame içerisinde değeri görüntüleyebiliriz. Bunu yapmak için sayac.cfm diye bir .cfm şablonu oluşturup içerisinde:
kodunu yazmamız yeterli. Sonra da sayfa içerisinde sizin kullandığınız meta etiketini kullanıyoruz, böylece sayfanın son sayaç durumunu görüntülemesini sağlıyoruz.
Bu kadar uzun bir yazıyı konunun bir çok kişi tarafından ilgi duyulan bir konu olması sebebiyle yazdım.
Gelelim sayfa yenileme problemine. Eğer her 15 saniyede bir yeni değerin sayfada ya da frame’de görüntülenmesini istiyorsanız meta etiketi yerine AJAX adı verilen JavaScript yöntemini incelemenizde yarar var. (Bilgi için AJAX JavaScript kelimelerini google’da aratın.) Ayrıca JavaScript’te yazdığınız fonksiyonun periyodik olarak otomatikman çalıştırılmasını sağlayabiliyorsunuz. Böylece frame’i yenileyen bir fonksiyon yazıp, bunu zamanlayarak hiç AJAX olayına girmeden sorunu çözebilirsiniz. (Bilgi için SetTimeOut JavaScript kelimelerini google’da aratabilirsiniz)
iyi çalışmalar,