SORU
9 Ocak 2011, Pazar


yuva.ıo ve oturum?

Express çerçeve kullanıyorum. Yuva oturum verileri ulaşmak istiyorum.ıo. Müşteri ile ifade dynamicHelpers çalıştım.dinleyici.server.dynamicViewHelpers veri, ancak oturum verileri alamıyorum. Bunu yapmak için basit bir yolu var mı? Kodu bakın lütfen

app.listen(3000);

var io = require('socket.io');
var io = io.listen(app);

io.on('connection', function(client){
    // I want to use session data here
    client.on('message', function(message){
        // or here
    });
    client.on('disconnect', function(){
        // or here
    }); 
});

CEVAP
21 Ocak 2011, Cuma


Bu yuva flashsocket ulaşımı üzerinden gidiyor (sunucu gerekli çerez göndermek değil) için değil, ama güvenilir bir şekilde her şey için çalışır. Ben sadece benim kod flashsocket taşıma devre dışı bırakın.

İş yapmak için, hızlı/bağlantı yan, ben açıkça yuva içinde kullanabilirsiniz böylece oturum alanını tanımlayın:

MemoryStore = require('connect/middleware/session/memory'),
var session_store = new MemoryStore();
app.configure(function () {
  app.use(express.session({ store: session_store }));
});

Sonra yuva benim kod içinde tanımlama onun ayrıştırma bağlayın almak için kullanabilirsiniz çerçeve bağlantı vardır.kurabiye sid. Ben o zaman Bağlan olan oturum deposunda oturum arayın.sid gibi:

var connect = require('connect');
io.on('connection', function(socket_client) {
  var cookie_string = socket_client.request.headers.cookie;
  var parsed_cookies = connect.utils.parseCookie(cookie_string);
  var connect_sid = parsed_cookies['connect.sid'];
  if (connect_sid) {
    session_store.get(connect_sid, function (error, session) {
      //HOORAY NOW YOU'VE GOT THE SESSION OBJECT!!!!
    });
  }
});

Gerekirse oturumu kullanabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Film Riot

    Film Riot

    16 NİSAN 2006
  • tinycammonitor

    tinycammonit

    14 Aralık 2010
  • TouchePro

    TouchePro

    27 EYLÜL 2007