folder Tahribat.com Forumları
linefolder Html - CSS - XML - JavaScript - Ajax
linefolder Her "Connect" İn Bir "Disconnect" İ Yok Mudur? (Node.Js, Redis, Socket.İo Vs.. İçerir)



Her "Connect" İn Bir "Disconnect" İ Yok Mudur? (Node.Js, Redis, Socket.İo Vs.. İçerir)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    shock56
    shock56's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    Ben sistemdeki online kullanıcıların sayısını socket.id değerlerini sayarak buluyorum. Kullanıcı sisteme bağlandığında socket.id değerini veritabanına alıyorum, sistemden çıktığında socket.id değerini aratıp siliyorum. 

    Log kayıtlarına bakıp "connection" tetiklenirken ve "disconnect" tetiklenirken hangi socket.id ler bu soruna neden oluyor diye bir fikir edinilebilir diye düşünüyorum.

    Ben node.js çalıştırırken pm2( https://github.com/Unitech/pm2) kullanıyorum. Detaylı log kayıtları verebiliyor. 

     

     

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    selamlar..

    bir süredir online kullanıcı sayısı ve oda sayısında fonksiyon bozukluğu yok. çözüm yolum;

    1) server tarafında socket.io-disconnect eventinde socket.on yerine socket.once kullanmak.

    2) client tarafında server ile bağlantı kurulurken {'force new connection': false} ayarını girmek. tabi bunun bazı dezavantajları olabilir, özellikle sağlıklı olmayan, kopan bağlantılarda.. bunun yerine sunucu tarafında da birşeyler düşünülebilir..

    kodlar şu şekil oldu:

    //SERVER SIDE:
    
    socket.once('disconnect', function(){ //event trigger when a client disconnect
    		client.decr('monitor_online_users'); //FOR_MONITORING
    		//...
    		
    //CLIENT SIDE:
    
    var socket = io('http://128.128.128.128:3333', {'force new connection': false });
    

    sevgiler..

Toplam Hit: 2308 Toplam Mesaj: 13
javascript