проблема с while(1) {}

drizzle

Новичок
проблема с while(1) {}

Ситуация: простой чат, вывод данных в броузер с помощью безконечного цикла
while(1) {}, проблема в том, что в мозилке вывод данных в браузер работает, а в IE нет. Если смотреть на html, который получает IE ,то на месте результатов работы while {...} пустота.
Вот заголовки которые пишет IE :

GET /support/read.php HTTP/1.1
Accept: */*
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: localhost
Connection: Keep-Alive

HTTP/1.1 200 OK
Date: Fri, 01 Apr 2005 11:38:51 GMT
Server: Apache/1.3.31 (Win32) PHP/4.3.10
X-Powered-By: PHP/4.3.10
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked

Разобраться самостоятельно с проблемой не могу. Последняя надежда решить проблему - подсказка знающего гуру. Буду признателен за любую информацию. хотябы укажите в какой стороне копать.
 

drizzle

Новичок
схема взята с http://noamber.narod.ru/chatdoc.html и выглядит так:
PHP:
ini_set('max_execution_time',0);   
set_time_limit(0);   
тут вывожу данные из базы
while (1) {
// селектом проверяю не появилось ли новое сообщение в базе и если это так, то вывожу его на экран 
if(mysql_num_rows($result))
							{
while($array=mysql_fetch_array($result))
{
//вывод результата
}
                                                       }
flush();
sleep(1);
}
Вот такая вот петрушка.
 

berkut

Новичок
вот почему-то конструкция вида
while (1) {
mysql_query();
mysql_fetch_array();
}
наводит ужас... неужели в чате, потоковом, можно использовать бд?
 

drizzle

Новичок
вот именно. мозилка отрабатыват нормально. пробывал мозилку под линуксом, konqueror - нормально. пробовал IE на другом компе - не работает хоть ты тресни.
 

neko

tеam neko
я думаю проблема в том, что ты слишком мало выводишь

но если честно на это смотреть тоскливо
как из тебя пол года еще код по кускам будут вытаскивать
 

drizzle

Новичок
я пробовал выводить 300 пробелов циклом for перед while результат тот же. Кроме того перед while (1) выводится целая куча ранее отправленных сообщений. так что вроде бы с этой стороны все впорядке. Повесить картинку чтобы наверняка убедиться, что не в этом дело?
 

DimbIch

Новичок
хм.. а не проще ли поставить на страницу рефреш 1 секунда ???
и убрать while(1) ????
 

drizzle

Новичок
Автор оригинала: DimbIch
хм.. а не проще ли поставить на страницу рефреш 1 секунда ???
и убрать while(1) ????
хочу что бы сообщения появлялись без рефреша, без щелкания и мигания
 

Yaponchick

Новичок
drizzle
- Опера при загрузки страницы, читаёт блоками(параграфами), а потом выводит.
- ИЕ, как раз наоборот, он сначала всю страницу собирает...

НО, есть вариант, с испольщование [m]flush[/m], но увы, я его не знаю...
 
Сверху