Вывод сообщений от сервера, в пределах одного ajax-запроса

sanu0074

Новичок
Есть страница с формой отправки файла, этот файл отправляется на сервер где с ним могут проделываться разные операции (очень долгая, более 15сек), и информация об этом выводится скриптом по ходу выполнения. Тут же назревает вопрос о том как заставить сервер выводить сообщения немедленно, а не после завершения работы скрипта.
Например что-то отсылаем:
Код:
$.ajax({
                type: 'POST',
                url: script,
                data: data,
                success: function(data) {
                    //вывод
                }
            });
В это время сервер выдает какие-то сообщения но операция еще не завершается и эти сообщения моментально приходят клиенту.
Проблема в том что success() сработает только когда скрипт выполнится, и для того чтобы решить такую задачу, информацию о операциях с файлом на сервере можно записывать в текстовый файл, а на клиенте по таймеру посылать параллельный запрос - опрашивать содержание текстового файла с информацией об операциях с файлом. Плюс для этого необходимо использовать session_write_close() чтобы это стало возможным. Это все геморный и устаревший способ, посылание лишних запросов, хотелось бы что то наподобие сокет-соединения, типа соединения не закрывается и в клиент попадают те самые сообщения с сервера...
Как это реализовать? подскажите подобные примеры...
 

AnrDaemon

Продвинутый новичок
Простите, а можно полюбоваться на документ, в котором указано, что единственное возможное решение является устаревшим?
 

ksnk

прохожий
Можно пользоваться древним аяксом :rolleyes: Тем, который был еще до появления этого слова, через iframe. Из неприятностей - страница считается постоянно подгружающейся...
 

sanu0074

Новичок
Простите, а можно полюбоваться на документ, в котором указано, что единственное возможное решение является устаревшим?
ну может оно не устаревшее, но я не знаю других вариантов, и подумал что может есть что-то еще...
 

AnrDaemon

Продвинутый новичок
ksnk, вопрос не в том, чем пользоваться.
Вопрос в том, как получать информацию о процессе, происходящем где-то ещё.
Кроме как "сохранить где-то", и "прочитать откуда-то", вариантов нет. А будет это файл на диске, или переменная в мемкеше - не суть важно.
 

ksnk

прохожий
AnrDaemon, вопрос в том, что автору хочется
... все геморный и устаревший способ, посылание лишних запросов, хотелось бы что то наподобие сокет-соединения, типа соединения не закрывается и в клиент попадают те самые сообщения с сервера...
iframe транспорт именно такой. Не находишь?
 

AnrDaemon

Продвинутый новичок
Это потребует поддержания соединения, что не всегда реалистично, а иногда просто невозможно.
 
Сверху