Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чат с демоном... 
V
    Опции темы
DeamonShan
Дата 18.12.2008, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



есть демон на перле... постоянно висит и по мере появления новых сообщений в БД рассылает их через сокеты пользователям....


подскажите плиз, как реализовать на пхп постоянную связь с демоном без цикла?
PM MAIL   Вверх
Валерия
Дата 18.12.2008, 18:26 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



Никак. Пхп это не тот язык где есть подобие onData smile
PM MAIL   Вверх
DeamonShan
Дата 22.12.2008, 03:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



как-то же делают чаты......
PM MAIL   Вверх
Nigel
Дата 22.12.2008, 03:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: 7
Всего: 19



делают. Вешают таймуауты и раз в n секунд снимают данные, но в любом случае это не realtime  в привычном его понимании.
PM MAIL   Вверх
Валерия
Дата 22.12.2008, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



Nigel, либо ифрейм который постоянно грузиться. в нём бесконечный цикл с паузой допустим 0.1 секунды, и каждый раз проверяется мускул на наличие новых сообщений)
PM MAIL   Вверх
awers
Дата 22.12.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Ajax не решает проблему?
PM MAIL WWW ICQ Skype   Вверх
DeamonShan
Дата 22.12.2008, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



все это хорошо,ajax, iframe, refresh etc... но нафиг тогда демонов пишут))) 

у меня был чат нормальный с дозагрузкой новых сообщений... но для каждого пользователя запускать почти что бесконечный цыкл - сервер сдохнет))

есть чаты с демоном... открывает сокет для каждого подключения и выстравивает в этот сокет новые сообщения, а пхп скрипт забирает их и передает пользователю... вот как без цикла реализовать постоянное подключение к сокету - не догоняю!!!

хоть и чаты уже в прошлом.. но мне эта реализация нужна для других целей...
PM MAIL   Вверх
Валерия
Дата 22.12.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



Это и есть можно сказать аджакс, только без HTTPrequest а через фрейм.
Который постоянно грузится..
PM MAIL   Вверх
theworldcreator
Дата 22.12.2008, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Я честно сказать не совсем понимаю. У вас демон рассылающий сообщения, так? Есть пользователи, эти сообщения принимающие, так?
А зачем между ними пихать некий php скрипт который будет постоянно получать данные? Что он с ними будет делать?
Цитата

подскажите плиз, как реализовать на пхп постоянную связь с демоном без цикла?

Я так понимаю вам нужно что то вроде прерываний? Нет, насколько я знаю такого нету, только цикл. Но вначале цикла можно вызывать sleep(), дабы все ресурсы не отдавать скрипту.
PM MAIL WWW ICQ   Вверх
DeamonShan
Дата 22.12.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



Цитата(Валерия @  22.12.2008,  18:58 Найти цитируемый пост)
Это и есть можно сказать аджакс, только без HTTPrequest а через фрейм.
Который постоянно грузится.. 


я так понимаю при любом раскладе "refresh" сохраняется???



Цитата(theworldcreator @  22.12.2008,  20:11 Найти цитируемый пост)
Я честно сказать не совсем понимаю. У вас демон рассылающий сообщения, так? Есть пользователи, эти сообщения принимающие, так?
А зачем между ними пихать некий php скрипт который будет постоянно получать данные? Что он с ними будет делать?


верно.. так и есть... демон рассылает собщения, пхп скрипт "верстает" и показывает посетителю....


Цитата(theworldcreator @  22.12.2008,  20:11 Найти цитируемый пост)
Я так понимаю вам нужно что то вроде прерываний? Нет, насколько я знаю такого нету, только цикл. Но вначале цикла можно вызывать sleep(), дабы все ресурсы не отдавать скрипту. 


думаю вместо цикла со sleep() реализовать рефреш...... так серверу намного будет легче)))
PM MAIL   Вверх
ksnk
Дата 22.12.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



DeamonShan, 
Цитата

есть демон на перле... постоянно висит и по мере появления новых сообщений в БД рассылает их через сокеты пользователям....

Ну а сам php из базы не может новые сообщения прочитать? Какая-то длинная цепочка получается


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
theworldcreator
Дата 22.12.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Я бы на вашем месте(при соответствующем доступе) верстал бы в Perl, исключив из цепочки php скрипт.
Цитата

думаю вместо цикла со sleep() реализовать рефреш...... так серверу намного будет легче))) 

При достаточном уровне программиста цикл будет быстрее, при наличие достаточно ресурсоемкой инициализации. То-есть в цикле вы один раз сокет будете создавать, может быть БД открывать, может генератор случайных чисел инициализировать, что еще предполагается, а в случае refresh при каждом запуске. Собственно теряется весь смысл демона и исключить из цепочки придется его.
PM MAIL WWW ICQ   Вверх
DeamonShan
Дата 23.12.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



Цитата(ksnk @  22.12.2008,  20:58 Найти цитируемый пост)
Ну а сам php из базы не может новые сообщения прочитать? Какая-то длинная цепочка получается 


конечно может...
 но цель у меня не чат... хотя и тут можно без демона обойтись.  



Цитата(theworldcreator @  22.12.2008,  21:23 Найти цитируемый пост)
Я бы на вашем месте(при соответствующем доступе) верстал бы в Perl, исключив из цепочки php скрипт.


я на перле не умею прогать, хотя и простенькие пишу...  у меня весь сайт на пхп... )) кроме демона) думал вообще на Сях написать его...



Цитата(theworldcreator @  22.12.2008,  21:23 Найти цитируемый пост)
При достаточном уровне программиста цикл будет быстрее, при наличие достаточно ресурсоемкой инициализации. То-есть в цикле вы один раз сокет будете создавать, может быть БД открывать, может генератор случайных чисел инициализировать, что еще предполагается, а в случае refresh при каждом запуске. Собственно теряется весь смысл демона и исключить из цепочки придется его. 


абсолютно с вами согласен!!! Присутствие в цепочке демона, исключает пхп скрипты коннектиться к БД.... - и это есть цель....

Это сообщение отредактировал(а) DeamonShan - 23.12.2008, 09:42
PM MAIL   Вверх
theworldcreator
Дата 23.12.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Цитата

Присутствие в цепочке демона, исключает пхп скрипты коннектиться к БД.... - и это есть цель....

mysql_Pconnect
PM MAIL WWW ICQ   Вверх
DeamonShan
Дата 23.12.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: 3
Всего: 6



theworldcreator, с pconnect-м я знаком...одно дело одна программа постоянно соединена с БД, другое когда  100 пользователей устанавливают.. ведь pconnet на сколько я понимаю его, соединяет только одного юзера... я ошибаюсь? я не исключаю, что одно соединение может использоваться несколькими скриптами, но маловероятно... точнее я не знаю этого)_

 в любом случае, если 100 пользователей получают сообщения по средством прямого соединения пхп скрипта, каждый посылает запрос к БД... а демон всего лишь один раз...то есть одно сообщение может быть вытянуто из таблицы один раз, а не столько, сколько пользователей

Это сообщение отредактировал(а) DeamonShan - 23.12.2008, 23:27
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0605 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.