Bir web sitesi yapmak istiyorum php ile. Sitede üyeler olacak ve bir üye online olduğu zaman bunu diğer kullanıcılara online olarak göstermek istiyorum. Anlık olarak. Siteden çıkınca offline olsun istiyorum. Bunu php ile yapabilmek mümkün müdür? Mümkünse nasıl yapabilirim? Yoksa Node.js gibi bişey mi kullanmam lazım?

Not: teknk bilgim orta seviye


 

PHP ya da Node kullanmanız farketmez. Hangisinde güzel bir kütüphane bulursanız ya da hangisine daha hakimseniz onu kullanın.

Birisi online olduğunda diğer tüm kullanıcılara bildirim göndermeniz lazım. Bunu yapmanın 3 yolu var:

1- http long polling: eskiden herkes böyle yapıyordu ama kullanan çok kalmadı herhalde artık.

2- websockets: js camiasında meşhur. implementasyonu da rahat. bana browser üzerinde çok kaynak tüketiyor gibi geliyor ama emin değilim.

3- SSE (server-sent events): bu görece yeni bir şey. çok bilgi sahibi değilim, altta http long polling gibi çalıştığından şüpheleniyorum ama browser'ların baya güzel desteği var. link: developer.mozilla.org

Eğer client'tan sunucuya stream yapmanız gerekmiyorsa benim tavsiyem SSE kullanmanız yönünde olur. Kullanıcının browser'ı kapattığını anlamak için de handler var zaten.

plutongezegendegilmi

eğer anlık olarak takip önemli ise socket.io ile bir şeyler yapabilirsin.

medium.com

php ile şöyle olur. kullanıcı sitede herhangi bir sayfaya girdiğinde (yani master php dosyanda) veritabanında kullancının son görülme zamanını güncellersin.

online listesinde de mesela son 5dk'dır online olanları görüntülersin. tabii eğer kullanıcı sitedeyse ama bir sayfada sabit duruyorsa, başka sayfalara git gel yapmıyorsa o kullanıcı offline görünür.

php ile yaptığın sistemde sürekli veritabanına yazma yapacağın için sistemi yorar.

aziz dostum jack
1

mobil görünümden çık