• Возможно ли сделать такое соединение (socket.io)?

    likerRr
    @likerRr
    front-end developer
    Вам категорично надо, чтобы пользователя дисконектило, если он открывает новую вкладку?
    В принципе вы все верно делаете. Но я бы рекомендовал sessions сделать не объектом, а массивом, где будут храниться объекты сессий. Исходя из этого получится что-то вроде этого:

    Подключите в начале файла модуль underscore (библиотека underscore.js)
    var _ = require('underscore');

    Далее пишете в io.sockets.on('connection')
    // массив сессий
    var sessions = [],
          ip = ?; // ваша реализация
    
    // проверяем, имеется ли уже активная сессия
    var found = (_.find(sessions, function(session) {
         return session.ip === ip;
    }));
    
    // обновляем (не удаляем!) сессию, если нашли, сказав предыдущей вкладке "пока-пока"
    if (found) {
          found.socket.emit('bye_bye', 'You are disconnected from server');
          found.socket.disconnect();
          found.socket = socket;
          found.ip = ip;
    }
    else {
          // добавляем сессию
          sessions.push({
                 socket: socket,
                 ip: ip
          });
    }


    Все это пишется в connection, т.к. в autzorizathion вы еще не подключены к сокету.

    P.S. Код лишь не оптимизированный и не протестированный прототип
    Ответ написан
    Комментировать
  • Redirect_uri с параметрами при использования OAuth авторизации

    likerRr
    @likerRr
    front-end developer

    Кодируйте параметры своего redirect_uri, хотя бы с помощью http_build_query, чтобы вместо & было %26

    Ответ написан
    Комментировать