fatihsarac adlı üyeden alıntı: mesajı görüntüle
tamam işte ondan bahsediyorum ben de. php ile 2. bir işlemi yapabilmek için node'dan nasıl disconnet olmayacağız? bildiğiniz bir yöntem varsa paylaşırsanız sevinirim, benim de en çok takıldığım mevzu bu.

NodeJS serverinizi biraz optimize etmeniz gerekiyor. Timeout durumu var çünkü standartı 10 saniye. Eğer 10 saniye boyunca işlem yapmazsanız sunucudan düşüyorsunuz. Bunun için clientları serverları datasız konuşturacak ufak bir ping fonksiyonu yapabilirsiniz.

https://github.com/LearnBoost/Socket...ring-Socket.IO

Yukarıdaki linkte bazı optimizasyon ayarları mevcut inceleyebilirsiniz.

Şimdi 2. işlemi yapabilmek kısmına geleyim hemen.

io.sockets.on('connection', function(socket) 
{
	
	//Kullanıcı bağımsız idsi
	var userID = socket.handshake.query.userID;
	//Kullanıcı bilgilerini alalım.
	clients[userID] = { socket: socket };
	           	
	socket.on('Function1', function() {
	});
	socket.on('Function2', function() {
	});
	socket.on('Function3', function() {
	});
	
});
Şimdi aşağıda gördüğünüz gibi connection fonksiyonu içerisinde yazdığınız tüm fonksiyon connect olmuş kişi için geçerlidir. userID değişkeni kişi disconnect olana kadar onun olmuş oluyor. İçerideki tüm işlemlerde kullanılabilir. Burada querystring ile yaptım ben header ilede yapılabilir. Yani kullanıcı sockete bağlı sürece tekrar socket.connect(); göndermeye gerek yok.

Disconnect durumunuda aşağıdaki gibi kullanırsanız.

  socket.on('disconnect', function(socket) {	
delete clients[userID];
});
Kullanıcı gittiğinde onunla etkileşimimizi kesmiş oluruz.

Her bir connection bir kişi olmuş oluyor böylece. Her bir istek bir kullanıcı değil.