Merhabalar,
PHP ile bir chat sistemi kuruyorum. Yazılımcı arkadaşlarım ve çevrem socket kullanmamı öneriyor. Salt php + ajax ile zaten biliyorsunuz ki chat (sohbet) problemler yaratıyor performans konusunda. Socket'te başka bir port açmak istemedim sunucuda. Var mı önerileriniz?
PHP Sohbet (Chat) Sistemi Önerileri
13
●510
- 15-07-2020, 00:02:52Stabillik bir kenara performans ve trafiği emiyor resmenhaktanyucel adlı üyeden alıntı: mesajı görüntüle
Socketsiz yol düşünüyorum valla hocam bende olur mu olmaz mı diye merak ettim. Fikri olan varsa, fikirlere açığım
- 15-07-2020, 00:03:43r10 tarzı anlık olmayan bir sistem olacaksa php işinizi görür ama sakın php ajax ile yapmaya kalkışmayın anlık olarak mesajlaşma yapacaksanız socket kullanın stabil olur
- 15-07-2020, 00:05:07Socket iyidir, PHP ve Ajax ile performans da olmaz stabiilite de.emreires adlı üyeden alıntı: mesajı görüntüle
- 15-07-2020, 00:11:26Anlık olacakCanOffline adlı üyeden alıntı: mesajı görüntüle
Dediğim gibi socket'ten başka çare zaten yok sanırım. Teşekkürler yorumunuz için.
- 15-07-2020, 00:13:26Socket için port açmak istemiyorsanız firebase'in real time database özelliğini kullanabilirsiniz. Aşağıya örnek olması açısından bir projenin linkini bırakıyorum.
https://github.com/FirebaseExtended/firechat - 15-07-2020, 00:15:35Çok teşekkürler, inceliyorum.MSA adlı üyeden alıntı: mesajı görüntüle
- 15-07-2020, 00:20:12Kimlik doğrulama veya yönetimden onay bekliyor.Ben de bunu anlamıyorum, sunucuda yeni bir port açmak istemedik ne demek. Kızmayın ama çok saçma.
Sunucunun işi bu yani gerekiyorsa açacaksınız. Sunucu sizin işinizi yapmak için var, bir tane fazla port açmak neden rahatsız ediyor. Onlarca port açık zaten yani ne sebebi olabilir.
Yine kızmayın ama benim aklıma ilk ne geldi biliyor musunuz? Siz websocket i bilmiyorsunuz, öğrenmesi de zor geliyor, şimdi onu öğrenmek yerine bildiğimiz metodlardan başka bir yol var mı onu araştırıyorsunuz. Vallahi de bu canlandı kafamda direk.
Gerçek zamanlı chat uygulaması için websocket kullanmak zorundasınız. Başka bir yöntem varsa da temelinde ya websocket vardır yada TCP protokolü üzerinde long polling yaparak socket taklit edilir. Firebase gibi gerçek zamanlı veritabanları kullanabilirsiniz belki ama yine de o iş için değil firebase, bence.
Ajax la kesinlikle olmaz. 100 kişinin aktif olduğu sistemde kimse kimseye 3 gün mesaj atmazsa siz her 5 saniyede bir yeni mesaj var mı diye kontrol etseniz dakikada 1200 request, 3 günde 5.184.000 request i boş yere atacaksınız demektir.
Böyle bir şey yapacaksanız da yapmayın, yaptıysanız da imha edin yani şu güzelim teknolojileri kullanmayacaksanız lütfen yapmayın.
Socketsiz yol düşünüyorum valla hocam bende olur mu olmaz mı diye merak ettim. Fikri olan varsa, fikirlere açığım