lostyazilim
tr.link

PHP MYSQL ve Socket ortak çalışma

5 Mesajlar 857 Okunma
lstbozum
tr.link

viper302 viper302 WM Aracı Kullanıcı
  • Üyelik 09.08.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Siber Güvenlik Danışmanı
  • Konum İstanbul Anadolu
  • Ad Soyad K** A**
  • Mesajlar 294
  • Beğeniler 19 / 26
  • Ticaret 3, (%100)
Merhaba arkadaşlar, PHP ile yazılmış bir sayfa düşünün. Burada kullanıcıların aralarında konuşmalarını sağlayacağım. Ajax kullanarak kullanıcıların aralarında mesajlaşmasını zaten sağlayabiliyorum ama yapmak istediğim şey kullanıcı sayısı arttıkça sistemin ileride kasacağını düşünüyorum. Bende düşündüm acaba socket kullanıp kullanıcılar aralarında konuşurken geçmiş konuşmalarını MYSQL veritabanına kayıt edilebilir mi?

Yapmak istediğim zaten açık bir socket varsa veriler görülecek ama kullanıcı mesaj sayfasına tekrar girdiğinde socket kapalıysa veriler uçacak. Bende sayfaya ilk girdiğinde veritabanından veriler çekilsin ve sonra socket ile konuşmaya devam etsinler. Ayrıca kullanıcı sitede yokkende çevrimdışı mesaj alabilsin ve siteye girdiğinde mesajı okuyup konuşabilsinler istiyorum.

Kısaca kullanıcılar Socket ile aralarında konuşacak ama arka planda konuşmalarını MYSQL veritabanına kayıt edecek. Kullanıcı sitede yoksa veya interneti koparsa mesajlar veritabanına kayıt edilmeye devam edecek kullanıcı siteye girdiğinde yeni gelen mesajları görüntüleyip konuşmaya devam edebilecek. Sizce böyle sistemi kasmayacak bir şey yapılabilir mi yoksa Ajax ile devam mı etmeliyim.?
 

 

wmaraci
reklam

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
Kullanıcı arttıkça zaten kasmaz ki :)
 

 

adnan358 adnan358 WM Aracı Kullanıcı
  • Üyelik 14.08.2016
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum İzmir
  • Ad Soyad A** B**
  • Mesajlar 159
  • Beğeniler 54 / 42
  • Ticaret 1, (%100)
https://www.npmjs.com/package/socket.io#installation
https://www.npmjs.com/package/mysql

Node.js socket.io ve mysql paketlerini kullanabilirsin, arkaplanda nodejs ile calıstırırsın gelen verileri mysql'e kaydedersin, ön planda client ile sockete bağlanırsın geleni gideni görürsün
 

 

viper302 viper302 WM Aracı Kullanıcı
  • Üyelik 09.08.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Siber Güvenlik Danışmanı
  • Konum İstanbul Anadolu
  • Ad Soyad K** A**
  • Mesajlar 294
  • Beğeniler 19 / 26
  • Ticaret 3, (%100)
Teşekkürler adnan bey, iyi anlamışsınız sorumu, hemen inceliyorum.
 

 

wmaraci
wmaraci

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)
timestamp bazlı bir id ile memcache kaydet.

Arka planda bir tane daemon bazlı workerin olsun, memcacheyi loop etsin sıraya göre gelen kayıtları oradan alsın tek tek yazsın.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al