Không gửi message cho riêng 1 user bất kì



  • -------server.js-----------

    var io = require('socket.io')(6996)
    var socket = null;
    var socketId = null;
    var clients = [];
    var allClients = [];
    console.log('connected to port 6996')
    io.on('error', function(socket){
    console.log('Co loi khi connect')
    });
    io.on('connection', function(socket){
    // var user_name = '';
    //socket.user_name = 'manhnv';
    console.log('co nguoi vua ket noi'+socket.id)

    socket.on('disconnect', function(){
        console.log(socket.id + ' ngat ket noi!!!!');
    });
    
    socket.on('add-user', function(data){
        console.log('username ---------' + data.user_name);
        var user_name = data.user_name;
        socket.id = data.user_name;
        socketId = socket.id;
        allClients.push(socket);
        console.log('-------socket.client ------');
        console.log(socket.id);
        console.log('-------end socket client-----');
    });
    
    socket.on('client-add-user', function(data){
        console.log(allClients); 
        io.sockets.sockets[data.user.user_name].emit('server-add-user', data);
        console.log('send client -------' + data.user.user_name);
    });
    

    });

    ------------client.js------------

    var socket = io('http://hctk.manh:6996');
    socket.on('chat:message', function(data) {
    // console.log(data);
    // if($('#'+data.id).length == 0){
    // $('#data').append('<p id="'+data.id+'"><strong>'+data.author+'</strong> : '+data.content+'</p>');
    // }
    });

    socket.on('server-add-user', function(data){
    alert('ban co thong bao moi');
    console.log('------- client da listen duoc roi-----');
    console.log(data);
    console.log('------- end client listen-----');
    });

    if(user_io){
    socket.emit("add-user", {"user_name": user_io.user_name});
    }



  • @Mạnh-Nghiêm
    Mình không emit được ở đoạn này. Pro nào check giúp mình với :
    socket.on('client-add-user', function(data){
    console.log(allClients);
    io.sockets.sockets[data.user.user_name].emit('server-add-user', data);
    console.log('send client -------' + data.user.user_name);
    });



  • Send message to a user :socket.broadcast.to(id).emit('my message', msg);

    Sent from Wood-PC.

    0


  • @Mạnh-Nghiêm Với không biết bạn làm cái phần allclients để check user online hay sao. Nên dùng adapter nó sẽ tốt hơn nha. ví duj 1 số libary :

    https://github.com/socketio/socket.io-redis
    hoặc
    https://www.npmjs.com/package/socket.io-adapter-mongo

    Sent from Wood-PC.

    0

Log in to reply