Вообще, по-доброму у меня уже есть рабочий чужой исходник. Его легко можно запилить под мои нужды, но так не пойдет. Меня готовое решение не устраивает.
Виктор: А что тут может устраивать, если я понимаю только половину из того, с чем работаю? Причем меньшую и смутно.
Вот сейчас например выяснилось, что мне нужен не просто демон, а многопоточный демон, который сможет асинхронно запускать внутри себя какие-то тяжелые процессы и общаться с клиентом как целостное приложение. А то, что я слепил на основе чужого исходника, заточено только под один процесс. Это значит, что я либо выполняю задачи, либо мониторю ресурсы, либо командую парадом. Вот сижу теперь, ломаю голову, как все это дело реализовать без жестоких костылей, которые так и напрашиваются...
ЗЫ: Без хорошего понимания никогда не будет хорошего результата.
Сергей: На php работать с многопоточностью как то мне кажется трудоёмко и не очень эффективно.
И если вы воспользуетесь не блокируемыми сокетами то всё равно у вас потом ещё будет задача по обмену данными между потоками. А ещё надо какое то апи придумывать чтоб ваш сокет сервер принимал запросы от бекенда. Мне кажется php просто не подходит для такой задачи.
Я просто не совсем понял почему вам node.js не подходит. Там вроде это проще делается, хотя кончено его не получится запустить на шаредхостинге.
Вы рассматривали на пример использование этого комет сервера https://comet-server.com/ ( https://github.com/CppComet/comet-server ) ?
Готовое решение которое за своим апи прячет все сложности работы в многопоточном режиме.
Виктор: Node.js как раз из-за хостинга не подходит + потому что его учить с нуля придется. А комет для меня то же, что и доместос - абсолютно незнаком с этим делом. Тем более ограничение "100 000 сообщений в день", как они у себя на сайте пишут. Т.е. 100к обращений, если я правильно понял. Это мало, у меня в десятки раз больше будет.
Вы в принципе пытаетесь создать с нуля тоже самое что есть готовое. Ведь если ваш сокет сервер обернуть в удобное апи, то получится тот же самый комет сервер. Только с тем отличием что он будет ваш и вы будете знать как он работает потратив кучу времени на разработку.
Этот комет сервер мой продукт. Могу сказать что по статистке люди упираются в первую очередь в количество онлайн. А не в 100к обращений в сутки. Ну и посчитайте на пример для вашей реализации если в оптимистичном виде то одно сообщение будет генерировать минимум одно или два обращения к базе данных, итого не каждый хостинг готов держать такую нагрузку при стоимости менее 4$. А взяв vps за 150 руб можно поставить туда комет сервер и держать в разы большую нагрузку.