Проблема с чтением сокета

alex_sar

Guest
Проблема с чтением сокета

Привет!
Я занимаюсь разработкой приложений с клиентом XUL/XPFE, сервером PHP5 (Apache 2.0.52) и с использованием довольно редкой субд D3 на платформе Linux (kernel 2.4.20).
Сервер PHP подключается к серверу бд посредством сокетов. Сокет сервер на стороне бд запускает дочерние процессы для коннектов.
Так вот проблема заключается в большой задержке (3 сек) конкретно при чтении адреса порта чилда. Причем эта задержка возникает только при запросе через объект XMLHttpRequest (XPFE).
Фрагмент кода:

PHP:
$newport = fgets($this->Socket,9);
Может кто сталкивался?
Чем может быть вызвана задержка?
 

yugene

Отошел от дел
Сталкивались. Делали класс работы с почтовым серваком CommunigatePro. Там, правда, задержка требовалась меньшая, порядка 50000 микросекунд. Может, это как-то связано с механизмом работы сокетов :confused:
 

alex_sar

Guest
0.05 сек - это еще куда ни шло. Но вот 3 сек - это не нормально.
Причем при прямом запросе из браузера сокет в этом месте читается где то порядка 0.01 сек. А вот запросы через объект Мозиллы XMLHttpRequest (чтобы не обновлять страницу) подвисают. Не понятно как это может быть связано. Один и тот же код исполняется.

Вы как-нибудь решали проблему?
 

yugene

Отошел от дел
Originally posted by alex_sar
0.05 сек - это еще куда ни шло. Но вот 3 сек - это не нормально.
Причем при прямом запросе из браузера сокет в этом месте читается где то порядка 0.01 сек. А вот запросы через объект Мозиллы XMLHttpRequest (чтобы не обновлять страницу) подвисают. Не понятно как это может быть связано. Один и тот же код исполняется.

Может, это связано с этим самым объектом Мозиллы?

Originally posted by alex_sar

Вы как-нибудь решали проблему?
Нет. Цифра 0.05 для нас была преемлемой.
 
Сверху