powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / разработка чата (или скайпа, или аськи) для сайта
25 сообщений из 26, страница 1 из 2
разработка чата (или скайпа, или аськи) для сайта
    #39109707
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу чат (или скайп, или аську) для использования на сайте. Требуется показывать пользователю вновь поступившие сообщения в режим реального времени.
Размышления как это сделать такие:
Периодически по таймеру, 2-3 раза в минуту, запрашиваем не появились ли непрочитанные сообщения, в случае появления даем звуковой сигнал и рисуем запечатанный конвертик. Все хорошо, НО! если пользователь откроет на сайте несколько вкладок код будет дублироваться, запросы на наличие обновлений будут делаться с каждой открытой вкладки, в несколько раз чаще, звуковой сигнал на каждое новое сообщение тоже прозвучит несколько раз.
А как можно избежать этого? Есть программный способ на js определить что этот сайт уже открыт в другой вкладке? Или такие задачи как-то по другому делаются?
Буду благодарен за любые подсказки.
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39109716
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39109843
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛебедкинПишу чат (или скайп, или аську) для использования на сайте. Требуется показывать пользователю вновь поступившие сообщения в режим реального времени.
Размышления как это сделать такие:
Периодически по таймеру, 2-3 раза в минуту, запрашиваем не появились ли непрочитанные сообщения, в случае появления даем звуковой сигнал и рисуем запечатанный конвертик. Все хорошо, НО! если пользователь откроет на сайте несколько вкладок код будет дублироваться, запросы на наличие обновлений будут делаться с каждой открытой вкладки, в несколько раз чаще, звуковой сигнал на каждое новое сообщение тоже прозвучит несколько раз.
А как можно избежать этого? Есть программный способ на js определить что этот сайт уже открыт в другой вкладке? Или такие задачи как-то по другому делаются?
Буду благодарен за любые подсказки.
websocket и все проблемы забыты
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39109930
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

о, вадя нарисовался. Расскажи где про websockets почитать. Давно хотел заняться
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110029
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяwebsocket и все проблемы забыты
я читал на википедии, что в опере и лисе по умолчанию websockets отключен, из-за потенциальных проблем с безопасностью. это есть большая проблема, т.к. часть пользователей чатом просто не смогут пользоваться.
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110041
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще я так и не понял, как websocket может помочь решить проблему открытия нескольких окон с одного сайта?
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110051
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,
https://learn.javascript.ru/websockets тут для браузера
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110053
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинвадяwebsocket и все проблемы забыты
я читал на википедии, что в опере и лисе по умолчанию websockets отключен, из-за потенциальных проблем с безопасностью. это есть большая проблема, т.к. часть пользователей чатом просто не смогут пользоваться.
это было давно, даже в ишаках последних есть такое
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110056
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкина еще я так и не понял, как websocket может помочь решить проблему открытия нескольких окон с одного сайта?
тут надо конкретно решать проблему от чего защищаться— на сервере проверять с какого ip идет подключение и по ws сообщить на вторично открытые окна о недопустимости
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110059
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут надо в мозгах закрепить — сервер может САМ отправлять сообщения клиентам. сообщения это может быть всё что угодно.
к прмеру у меня первая часть (до определенного разделителя) - команда, точнее имя функции, которая обрабатывает, следующие дальше данные.
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110062
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкина еще я так и не понял, как websocket может помочь решить проблему открытия нескольких окон с одного сайта?
используя ws не возникнет той проблемы, что у тебя в начале — сообщения от сервера можно направлять только на первую открытую вкладку/окно
и долбить сервер запросами не требуется , нагрузка на сервер минимальна
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110071
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, я понял. то что сервер сам может отправлять сообщения клиенту и не надо его постоянно опрашивать на появление новых сообщений - это конечно хорошо и очень круто! но проблема у меня немного в другом:
допустим пользователь бродит по сайту, открывая при этом разные страницы в разных вкладках, причем страница с самим чатом у него может быть и не открыта. в какой-то момент, бац! ему приходит новое сообщение, которое он должен сразу это заметить.
как реализовать?
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110072
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяиспользуя ws не возникнет той проблемы, что у тебя в начале — сообщения от сервера можно направлять только на первую открытую вкладку/окно
а если пользователь случайно закроет как-раз первую вкладку?
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110074
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинда, я понял. то что сервер сам может отправлять сообщения клиенту и не надо его постоянно опрашивать на появление новых сообщений - это конечно хорошо и очень круто! но проблема у меня немного в другом:
допустим пользователь бродит по сайту, открывая при этом разные страницы в разных вкладках, причем страница с самим чатом у него может быть и не открыта. в какой-то момент, бац! ему приходит новое сообщение, которое он должен сразу это заметить.
как реализовать?
как два пальца :)
варианты на вскидку...
посылается команда на открытие страницы в новой вкладке с чатом. , всплывает модальное окно ....
просто на каждой странице надо наличие функции для обработки такого сообщения,это не проблема
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110075
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинвадяиспользуя ws не возникнет той проблемы, что у тебя в начале — сообщения от сервера можно направлять только на первую открытую вкладку/окно
а если пользователь случайно закроет как-раз первую вкладку?
закроет первую — первой станет следующая :)
главное не ограничивать себя старыми подходами :)
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110076
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сообщением может быть и кусок html ...., который можно с помощью jQuery вставить
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110078
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак два пальца :)
варианты на вскидку...
посылается команда на открытие страницы в новой вкладке с чатом. , всплывает модальное окно ....
просто на каждой странице надо наличие функции для обработки такого сообщения,это не проблема
я имел ввиду не как визуально для пользователя это представить, а как это реализовать этот процесс в плане опроса сервера, чтобы и лишних соединений не было, и сообщение не пропустить.
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110080
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадязакроет первую — первой станет следующая :)
как следующая вкладка узнает, что ей пора главной становиться?
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110084
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинвадязакроет первую — первой станет следующая :)
как следующая вкладка узнает, что ей пора главной становиться?
это будет автоматом на сервере. каждая страница создаёт подключение — получается массив/список удаление одного — назначает следующего автоматом, вот на него и передаётся
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110088
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. каждая открытая вкладка создает websocket соединение, а на стороне сервера определяем какие соединения относятся к одному и тому-же клиенту, и отправляем событие только на одно соединение для каждого клиента. так?
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110090
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкинт.е. каждая открытая вкладка создает websocket соединение, а на стороне сервера определяем какие соединения относятся к одному и тому-же клиенту, и отправляем событие только на одно соединение для каждого клиента. так?
да. тут надо логику на сервере продумать, ничего сложного в этом нет
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110091
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно, спасибо за наводку. обдумаю этот вариант.
только по ip клиента некорректно определять, за одним ip могут быть разные клиенты (proxy, nat) тут скорей куки передавать надо и по ним ориентироваться.
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39110492
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем куки, если можно каждой сессии номер присвоить и по номеру передавать?
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39112024
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipА зачем куки, если можно каждой сессии номер присвоить и по номеру передавать?
ну в принципе можно и номер сессии, либо id пользователя и т.п.
это уже не так принципиально, сессия все-равно на куках держится.
...
Рейтинг: 0 / 0
разработка чата (или скайпа, или аськи) для сайта
    #39112248
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное лучше куки. один пользователь может зайти с двух разных браузеров. или с планшета и десктопа. а куки говорят о том, что это один браузер.

sockjs кстати, очень хорошая вещь.. не всегда с websocket удается подружиться.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / разработка чата (или скайпа, или аськи) для сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]