Работа с AJAX запросом. Вопрос по поводу ЛОГОВ. Как сделать?
Здравствуйте. Есть сайт, index.php и обработчик auth.php.
Все работает отлично Ajax запросом... В поле "ЛОГ" на сайте, выводятся результаты обработчика, но есть такой не большой минус.... Все ответы от обработчика приходят исключительно в конце работы обработчика. Вопрос таков: Как можно соединить JS запрос, с обработчиком, чтоб JS принимал результаты в режиме реального времени. То есть, к примеру в обработчике происходит на 5 строчке Вывод текста, обработчик сразу же выводит его.
На 10 произвелся вывод, опять обработчик сразу принимает его....
Как это сделать? или может AAjax запросы тут не совсем подходят?
edward_freedom Всё таки WebSocket :) Никита Сазонов Ещё, как вариант, socket.io на фронт и phpSocket.io на бэк
Самый простой, чтобы не расставаться с Ajax - разделить обработчик на несколько скриптов и обращаться к ним поэтапно.
john36allTa, да если WebSocket лучше Ajax, то почему бы и нет....но чет я прочитал пару сайтов, и так и не могу понять, это отдельная библиотека, или вообще отдельная прога какая то..... я не смогу что ли использоватть проект на локалке, и потом его загрузить на хостинг без проблем?
Никита Сазонов Если хотите написать приложение RealTime, то лучше смотреть в сторону node.js(тот же JS, но в качестве бэка). Правда тут понадобится свой/VPS сервер или Cloud serivce, что подороже чем обычный "apache+MySQL+PHP". phpSocket.io - это библиотека, подцепляется легко из PHP файла, по ссылке есть примеры. Она помогает открыть на сервере сокет(т.е. => порт на хосте), поэтому - нужно согласовывать с хостером вопрос "пойдёт ли". О "на каждом хостинге" я уже не говорю. Ещё раз посоветую разделить "обработчик"(т.е. => класс) на подклассы(т.е. => скрипты), если это возможно. А главное, если заявленный функционал требуется только для логов, то нет смысла усложнять задачу вообще. Логи можно вести и в файл и в базу, а на debug`е, тем более localhost, можно найти массу компромиссных решений.
Johnny Lowhunter, я хочу сделать:
У меня в обработчике Выполняется цикл. Все Выполненые результаты в цикле,выводиться сразу после окончания работы скрипта (цикла).
Так вот я хочу чтоб он в живую все выводил, то есть 1 оборот цикла выполнился, вывод текста, второй, третий и тд и тп до коонца цикла
Никита Сазонов, в этом случае, уверенно => VPS/свой сервер, не факт => простой хостинг с доступом к командной строке, или просто к запуску скрипта PHP(демона). Но, во втором случае, обслуживать такой проект в разы дороже по времени, ибо "всему свойственно падать".
Cокет - это открытый для входящих обращений порт на сервере, который подвержен угрозам из вне. Для хостера такое равно угрозе работы сервера/серверов, а значит и работе ресурсов его клиентов. Соответственно, вполне логично если хостер откажет в поднятии сокета на PHP. В случае с VPS ограничений нет, но Вам самому придётся заботиться о безопасности сервера + его настройка + обслуживание в RealTime.
Логика работы phpSocket.io в том, что один скрипт PHP запускается, открывает порт для внешних обращений и не прекращает свою работу пока что-нибудь где-то не обрушит его.
Johnny Lowhunter, смотрю по инету, норм использовать PHPSocket.IO, но негде не нашел инструкции, документации или даже каких нибудь маленьких примерчиков.
В общих чертах, для нормальности что посоветуйте? Изучить NoteJS или что ?)