@bigdaddyonduty
Начинающий в web-технологиях

Как соединить 2 людей в чате?

Всем привет. Занимаюсь созданием анонимного чата на вебсокетах. Клиентская часть на Javascript, а серверная на python. Подскажите, как можно соединить 2 людей , которые находятся в поиске. Гугл не предлагать, ничего не нашёл :(
  • Вопрос задан
  • 1332 просмотра
Пригласить эксперта
Ответы на вопрос 1
x67
@x67
Создаешь список активных юзеров (тех, кто ищут кого либо сейчас) и по каким-то критериям определяешь связь. Лучшим критерием для начала будет время поиска. Тот кто дольше ищет, тот первым подключается.
Как все работает? пользователь в клиенте выбирает пол (не обязательно, но пусть будет), по нажатию кнопки "начать чат" клиент отправляет на сервер сообщение, мол вот парень хочет в чат. Сервер добавляет его в список активных. Далее проверяет весь список и если нашел к примеру девушку, отправляет к ней, не нашел девушку, отправляет к парню. Статус обоих меняется на "занят", при том в поле "кем" заносятся ид друг друга. Соответственно когда сервер получает от пользователя сообщение, он смотрит у этого пользователя, с кем тот общается и отправляет собеседнику это сообщение. Клиенты раз в секунду могут отправлять статус. Если клиент ничего не отправляет, видимо пользователь закрыл вкладку, значит его собеседник должен получить уведомление, а сам закрывший вкладку удаляется из списка текущих пользователей.Это простейший однопоточный случай.
Вам лучше знать, как вы видете этот чат и его возможности, а значит и реализацию лучше самим придумывать. К тому же, если не будете решать такие вопросы сами, то учиться программировать будет тяжело.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы