Проблема с Socket не нашел решения подскажете за WM

x999x999x

Новичок
Проблема с Socket не нашел решения подскажете за WM

Суть проблемы такова на сервере WIN server 2003 стоит программа
Она получает команду от скрипта выполняет ее далее дает ответ о выполнении .
Все бы да оно нет . Попытка отослать и принять данные через


<?
$fp=fsockopen('localhost', 1001);
fputs($fp,"#ico#828237492374&4427273");
while(!feof($fp))
echo fgets($fp,1000);
fclose($fp);
?>

скрипт выполняется эдак 3-4 минуты и дает ответ
дело в том что запросы будут поступать эдак 10 в минуту
искали решение и в другом коде


$socket = stream_socket_client('localhost:1001');
stream_socket_sendto($socket ,"#ico#828237492374&4427273", STREAM_OOB);



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



$server = stream_socket_server('localhost:1001');
$socket = stream_socket_accept($server);
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1001, STREAM_OOB) . "'\n";
fclose($socket);
fclose($server);

в итоге такой же результат в 5-6 минут и без ожидаемого ответа
тестовая программа написанная на Delphi отправляет и получает ответ буквально в 5-8 секунд а со скриптом ничего не хочет работать
подскажите плиз как можно отправить данные и как только приходит нужный ответ моментально разорвать соединение и остановить скрипт данные начинаются с слова SERVER:
за наиболее лучшее и скоростное решения готовы заплатить WM
 

Активист

Активист
Команда форума
CURL используйте.

-~{}~ 03.10.08 05:36:

И Вы уверены, что тормазит именно в этом участке кода?
 

Wicked

Новичок
Активист
там разве http? :)

x999x999x
while(!feof($fp))
echo fgets($fp,1);
попробуйте заменить на
echo stream_get_contents($fp);

все-таки читать по 1 байту - довольно нелепо.
 

x999x999x

Новичок
echo stream_get_contents($fp);
дает такой же результат в 6-8 минут ( до ответа

-~{}~ 03.10.08 06:02:

Автор оригинала: Активист
CURL используйте.

-~{}~ 03.10.08 05:36:

И Вы уверены, что тормазит именно в этом участке кода?
да потому что для теста выложен весь исходник как тестовый без <? ?>

-~{}~ 03.10.08 06:04:



все-таки читать по 1 байту - довольно нелепо.

прошу прощения не дописал когда вводил )
 

Wicked

Новичок
1) а что тормозит больше:
соединение, отправка запроса, stream_get_contents($fp) или закрытие сокета?
2) точно ли программа на дельфи посылает именно такой запрос? нету ли там всяких дополнительных переводов строк и тому подобного?
3) точно ли программа на дельфи получает такой же ответ, причем получает его целиком, а не, например, только первые 1000 байт, а потом закрывает соединение?
4) точно ли та программа обрабатывает запрос за 5-8 секунд?
5) что это за программа вообще?
 

x999x999x

Новичок
Автор оригинала: Wicked
1) а что тормозит больше:
соединение, отправка запроса, stream_get_contents($fp) или закрытие сокета?
2) точно ли программа на дельфи посылает именно такой запрос? нету ли там всяких дополнительных переводов строк и тому подобного?
3) точно ли программа на дельфи получает такой же ответ, причем получает его целиком, а не, например, только первые 1000 байт, а потом закрывает соединение?
4) точно ли та программа обрабатывает запрос за 5-8 секунд?
5) что это за программа вообще?
1 stream_get_contents($fp) или закрытие сокета
2 да точно писал сам
3 соединение не прерывает
4 да засекал
5 это эмулятор ICO обзоров добавление нутам много чего для вир хостов
 

Feofan

Новичок
Сколько соединений открывает ваш скрипт за один вызов?
 
Сверху