2013-04-08 15 views
6

İstemci veriyi sunucuya her gönderdiğinde, bu verilere erişilmesini istiyorum, böylece sokete, sunucu tarafına veri kaydetmek istiyorum!Soketteki Verileri Kaydetme Socket.IO

Bir kullanım çantası soketteki bir jetonu saklayabilir. İstemci ilk kez bağlandığında, eğer varsa, belirtecini yayacaktır ya da giriş sayfasını gösterecek ve daha sonra giriş verileri sunucuya gönderilecektir. Hangisi olursa olsun, belirteci sunucuda saklamak istiyorum, bundan sonra her isteğin belirteci belirtmesi gerekmez.

Daha sonra, RedisStore kullanacağım, böylece tüm veriler uygulamaya çalışan tüm sunuculara erişilebilir olacak.

Tek sorum şu ki, veriyi yuvaya nerede depolamalıyım? için http://socket.io/#how-to-use Tomardaki

cevap

8

: uyumsuz

+0

Çok teşekkürler! İşe yarıyor! :) –

+3

Bu yöntem artık herhangi bir güncelleştirme, socket.io 1.0 üzerinde çalışmıyor gibi görünüyor? – dievardump

+1

io.set() ve io.get() yöntemleri 1.0'da kullanımdan kaldırılmıştır. Middleware kullanmanız gerekecek. http://socket.io/docs/migrating-from-0-9/ –

0

Sen küresel değişkenler üzerindeki verileri kaydedebilir veri ayarlamak ve almak için bir müşteriye

kullanım socket.set ve socket.get ilişkili saklama verilere sizi ancak performans etkileri farkında değilim, bu benim senaryo için çalışmış herhangi bir veritabanı

var globalVariable = {}; 

io.sockets.on("connection", function (socket) { 

    socket.on("save-client-data", function (clientData) { 
      var clientId = clientData.clientId; 
      globalVariable[clientId] = JSON.parse(clientHandshakeData); 
    }); 

    socket.on("get-client-data", function (clientId) { 

      var clientData = globalVariable[clientId]; 
      socket.emit("get-client-data", JSON.stringify(clientData)); 

    }); 

}); 

kullanmak istemiyorum.