Vietnam

    Nodejs.vn

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Groups
    • Search

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

    Hỏi Đáp
    socketio
    0
    4
    729
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Mạnh Nghiêm
      Mạnh Nghiêm last edited by

      -------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 1 Reply Last reply Reply Quote 0
      • Mạnh Nghiêm
        Mạnh Nghiêm @Mạnh Nghiêm last edited by

        @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);
        });

        Nguyen Hien 1 Reply Last reply Reply Quote 0
        • Nguyen Hien
          Nguyen Hien last edited by

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

          Sent from Rodgers Zone!!!

          1 Reply Last reply Reply Quote 0
          • Nguyen Hien
            Nguyen Hien @Mạnh Nghiêm last edited by

            @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 Rodgers Zone!!!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post