Доброго времени! Нужно реализовать такую задачу: 1. есть php скрипт, который должен быть постоянно запущен (бесконечный цикл как я понимаю) и периодически (по мере поступления) посылать информацию всем подключенным к нему клиентам (браузерам). 2. соответственно в браузере, через JS, нужно иметь возможность подключиться к серверу и получать сообщения от него. Сложность еще в том, что таких процессов должно быть несколько. Если сравнивать с чатом - несколько "комнат". Подскажите, как проще это сделать? Без излишеств и особых заморочек. (comet, с длительными соединениями по таймеру не подходит) Заранее спасибо!
Re: Постоянная связь нескольких клиентов с php скриптом. Сок nodeJS тебе нужен или что-то еще нативное, а не сессионный пых.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок почему не пых-то?))) открыли сокет, слушаем, подключился клиент - форкнулись. по событию делаем бродкаст всем форкам через обычный fifo. на операции прими-отдай оперативы меньше мега будет уходить. не слушайте дядю, он плохому научит.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок это было адресовано тс =) Добавлено спустя 22 секунды: Re: Постоянная связь нескольких клиентов с php скриптом. Сокеты? хехе =)
Re: Постоянная связь нескольких клиентов с php скриптом. Сок ну да, мы же о пхп говорим))) там пару байт обработать - 768кБ памяти аллокейтится)))) хотя наверное если выкинуть неиспользуемые модули то и жрать будет меньше. уверен что чат-демону не пригодится ни XML ни GD ни тому подобное. только сокеты, процессы и строковые функции.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок тут на форуме люди писали об успешном применении демонов, но они всё же иногда перезапускались.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок ну допустим у меня есть демон на пхп. если перезапуск физического сервера считается перезапуском демона то да иногда перезапускаю демон))))) а так я его еще в 2013 написал и уже забыл как он работает потому что он просто работает. чтоб рассказать что-то - лезу в исходники. но да, джава демон работает в разы быстрее и жрет меньше ресурсов.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок Менеджмент памяти как у говна. И течет как сито. Дырявое. А вот тут поподробнее. Давно у пыха появились функции для работы с потоками/процессами напрямую?
Re: Постоянная связь нескольких клиентов с php скриптом. Сок если руки из ж. то и на c++ можно написать текущее сито. у пыха конечно это не самая сильная сторона, но когда нужно, можно и демона состряпать, работать будет это главное.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок php-fpm всё позволяет делать тут описанное. Нет смысла писать проект на 2-3 языках если решение удовлетворяет всем требованиям. Купите гиг памяти за 2 рубля и забудьте о том сколько мегабайт дополнительно ест пых. Как тут правильно заметили, если в воркере на пыхе течёт память и руки из жопы, то и в реализации на сях будет то же самое. Крутится с с десяток демонов на пыхе на крупном проекте и никаких проблем нет. Важны всё же требования к решению, которые тс не уточнил. Если нужно поддерживать тысячи одновременных открытых соединений через которые постоянно идёт обмен данными, то php не та технология на которой нужно решать задачу изначально.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок а еще есть phpDeamon, который вообще много чего умеет из коробки(держит тысячи соединений)
Re: Постоянная связь нескольких клиентов с php скриптом. Сок единственная "проблема" пыха в данном случае это производительность. вынос части кода на джаву дал мне примерно 40-х прирост производительности. в данном случае не считаю бессмысленным писать проект на двух языках, а вот покупка ОЗУ в моем случае будет бессмысленной - там где пыху нужно было около 2Гб джава спокойно работает с 700Мб. наверное правильное решение задачи начинается с правильной оценки самой задачи.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок Благодарю за ответы. Активных подключений не более 30 планируется. Через websocket. Задача простая: принимать новые соединения, отслеживать кто отключился, рассылать всем сообщения. Всё. Нашел уже информацию, буду пробовать. Не вижу смысла для этого использовать что-то стороннее. (хотелось услышать нюансы реализации именно на php)
Re: Постоянная связь нескольких клиентов с php скриптом. Сок Просто клонировать себя? Или есть возможность межпотокового/межпроцессового взаимодействия? Моя любить многопоточные игрушки.
Re: Постоянная связь нескольких клиентов с php скриптом. Сок сигналы, семафоры, шаред-мемори, фифо/лифо. еще вот такая плетка в наличии есть. вам, мсье Сурикат, какие еще извращения нужны?