websocket yerine ajax long polling yapsan daha iyi olur bence,websocket her browser desteklemiyor gelecekte belki ama şimdilik iyi değil,swf üzerinden aktarım yapsan gene bir dert flashsız pclerde var en iyisi ajax long polling şeklinde
Facebook un chat ve bildirim sistemide aynı şekilde long polling kullanıyor
long pollingteki mantık şu
ajaxla timeout u 30 saniye olarak ayarladığın bir yere sürekli istek yolluyorsun
php den isteği alıyorsun ama echo ile cevabı hemen döndürmüyorsun toplamda 30 saniyeyi aşmıycak şekilde sorguya yanıt hazırlıyorsun şöyle ki
php isteği aldığı zaman mesela adama gelen yeni cevap yoksa bekliyorsun tekrar ayni şekilde 30 saniye süre dolunca yeni gelişme yok gibi cevap döndürüyorsun bu sefer o bağlantı bitiyor tekrar bağlanıyor client bu sefer gene 30 saniye bekliyorsun vs. vs. ama bu litespeed tarzı web server kullananlara göre değil çünkü aynı anda ortalama 50 60 php nin çalışmasına izin veriyorlar. bir sürü vps alıp bağlaman şart
google dan bulduğum örnek kodlar
setInterval(function(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
}, dataType: "json"});
}, 30000);<?php
$time = time();
while ((time() - $time) < 25) {
$data = $db->getNewMessage ();
if (!empty ($data)) {
echo json_encode ($data);
break;
}
usleep(1000000); // 1 Second
}
?>long pollingle çalışan chat uygulamam oda sistemli chat uygulamam
https://github.com/tontonq/node-roomchat
bence nodejs - socket.io daha basit uygulanabilir ihtiyaçları yeterince karşılayan bir sistem