powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод кусочками
7 сообщений из 32, страница 2 из 2
Вывод кусочками
    #37394463
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче говоря, правильнее и проще будет дергать данные аяксом )) Но логику работы скрипта на сервере придется пересмотреть, т.к. один запрос, гадящий N порциями, меняется на N+1 запрос (1 обычный + N аяксовых приходов за порциями).
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Вывод кусочками
    #39643781
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спрошу про похожую задачу, чтобы ветки не плодить:
есть задача обмена короткими (до 200 байт) сообщениями юзер-то-юзер через общий вебсервер на пхп. Реализована в виде простейшего пхп-вебчата. Не устраивает суммарное время отклика (лаг) на передачу данных в 1 конец: юзер1-сессия1-чат на вебсервере-рефреш вебстраницы-сессия2-юзер2. Пир-то-пир не вариант (фаерволами всё закрыто, только хттп доступен).

Подскажите, можно ли средствами пхп реализовать обмен между двумя клиентскими хттп-сессиями примерно так:
- сессия1 делает долгий POST-запрос, секунд 30, передавая маленькими порциями нужные сообщения, вперемешку например с пробелами (чтобы не оборвалась сессия по таймауту);
- сессия 2 аналогично делает долгий GET-запрос, тоже маленькими порциями (тоже фейковые пробелы например можно отдавать с сервера, если от сессии1 долго никаких данных не поступает);
- пхп на вебсервере по получении очередной порции данных от сессии1 подсовывает их в буфер для отдачи в сессию2.
- по прошествии 30 секунд сессии рвутся, и процесс повторяется заново.

Или такой "пакетный" режим может не сработать на стороне вебсервера (хостинга провайдера)?
...
Рейтинг: 0 / 0
Вывод кусочками
    #39643784
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помимо минимизации лага передачи пакета, хотелось бы таким образом минимизировать ещё и накладные расходы (трафик) на передачу данных - т.к. схема с чатом на каждое 100-200байт сообщение ещё и лишний http-заголовок порождает (ещё 200 байт, и часто не один, т.к. данные передаются нерегулярно).
...
Рейтинг: 0 / 0
Вывод кусочками
    #39643789
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше это делать через вебсокеты.
Давным давно делал чат на базе activemq, уже смутно помню. То ли через stomp как-то подключались клиенты к amq, то ли какой другой коннектор. Со стороны ПХП был скрипт, который управлял очередями (забирал сообщения от клиентов и передавал в каналы нужных клиентов, разруливал права доступа и т.п.) Хотя Java для этого лучше подходит.
...
Рейтинг: 0 / 0
Вывод кусочками
    #39643790
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя вот погуглил, есть и для пхп либы для организации работы вебсокетов, например https://github.com/varspool/Wrench
...
Рейтинг: 0 / 0
Вывод кусочками
    #39643794
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитал про stomp - я так понимаю, что его не на каждом вебсервере провайдер даст поднять. К тому же, я правильно уловил, что ему нестандартный свободный порт на сервере нужен (на 80 не повесишь)?
А штатные возможности движка пхп позволят отлавливать событие приёма очередной порции данных во входной буфер? Просто с пхп знаком весьма поверхностно.
...
Рейтинг: 0 / 0
Вывод кусочками
    #39644123
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ за вебсокеты
после php, особенно с опытом в JS, ближе будет node.js чем java, к тому же есть реализации на php: https://github.com/ratchetphp/Ratchet
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод кусочками
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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