Суть проблемы такова на сервере 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
А зачем писать это на php, если есть готовая программа на Delphi? Скрипт как я понял под CLI? Вот пример, переделать несложно: http://ru2.php.net/manual/ru/sockets.examples.php Работает "быстро". Сравниваем полученный ответ с "нужным", если он верный, то выходим из цикла(лов) break; закрываем сокет socket_close() или же socket_close() и exit; Остановить скрипт можно с помощью exit; die();