Ne arayalım?

ARAMIZA KATILIN

BİZE ULAŞIN

Adres:

E-posta:

host/bin/bilisimlife.dll

iletisim@bilisimlife.net




 
Rserit
Developer
       
 1029  
 278

Facebook'taki Sohbetin Programlama Mantığı Nedir?

Merhabalar,
Fark edeniniz olmuştur. Facebook'ta nerede gezerseniz gezin, sağ alt köşede sohbet bölümü daima duruyor. Orada "call back" gibi bir olay olmuyor. Anlık mesajlaşma sisteminin web tarafında nasıl bir mantık var? Bunu merak ettim ve araştırdım. Sizlerle paylaşmak istiyorum.



Işin özünde Websocket ve Ajax teknolojileri var.
Sonradan öğrendim, Facebook mesajlaşma sisteminde veritabanı kullanmıyor. Birisine mesaj attığınız zaman aslında ona e-posta göndermiş oluyorsunuz desem yanılıyor olmam.

Mantık şu, WebSocket ile mesaj yazıldığını algıladıktan sonra sayfayı Ajax ile yenilenmesi esas alınıyor.

Bu sisteme Long Polling ve Short Polling sistemleri deniyor. Client tarafından Ajax ile talep edersin, server ise bunu beklemeye alır. Cevap hemen geri dönmez. Bu süreç içinde sunucu tarafında bir değişiklik olursa veyahu talep süresi dolduğunda sorgu biter. Bu sayede anlık mesajlaşma söz konusu olur. Normal taleplerde işlem bitiminde hemen cevap döner. Server üzerinde yapılandırma farkı budur. Her dile özgü kütüphaneleri de bulunuyor.

Her dildeki kütüphaneler farklı olduğundan artıları eksileri başka.
ASP.NET MVC üzerinde böyle bir teknoloji kullanmak istiyorum diyelim, nasıl bir yol izlemeliyim? Şöyle ki, WebSocket ve SignalR adlarında iki kütüphane var. Karşıdan size mesaj geldiğinde tetiklenen bir Javascript metodu da var. O metodun içinde istediğinizi yaptırabiliyorsunuz. Önemli olan o mesajın geldiğinin anlaşılıp tetiklenmesidir. Ardından GetMessage adında bir metod oluşturup mesaj listesini yenileyen Ajax kodu yazılır.  Bu sayede ASP.NET üzerinde Facebook sohbet mantığı yapılmış olunur.

Umarım faydalı olur,
Recep.

Developer.


 
Onur
Öğrenci
       
 79  
 160

Kısaca websocket ve ajax

Open Source olmamış yazılımdan pek hayır görülmez.