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

  • apenney888

    apenney888

    27 EKİM 2010
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • SegaAmerica

    SegaAmerica

    5 Mart 2008