Ну типа зделал два варианта: 1: fsockopen (на некоторых хостингах запрещена) 2: curl_multi_* (curl не везде установлен) Мож кто подскажет как можно еще отправить запрос чтоб скрипт не ждал ответа? Сокеты на потом)
Обычная эмуляция...и не прям обязательно использовать курл или fsockopen Можно хоть file_get_contents() и fopen(), хоть через расширение сокетов (socket_create и т.д.). Ну и плюс к этому всему неблокирующий режим и в цикле вызывать скрипт из самого себя, передавая пост/гет параметры... Тогда эмуляция ещё как-то получится.....но в целом для пхп это не имеет смысла
Да асинхронных наверно и нету в PHP... но чем плох AJAX ? ) вот тебе и асинхронность. Мож че и не правильно говорю в программинге асинхроность я делал посредством потоков, а сокеты всегда юзал блокирующие... в PERL есть fork в php насколько я помню тоже есть многопоточность...
набрал в поиске многопоточность в php вот урл как раз по данной теме http://blog.gtalex.ru/mnogopotochnost-v-php http://www.stableversion.com/node/3 http://habrahabr.ru/blogs/php/40245/ в общем xssww2 учись гуглить ) пригодится
а как через fopen? пробывал вроде как, он не возвращает управление до тех пор, пока вызываемый скрипт не выполнится
fopen не возвращает никаких данных, она возвращает лишь дескриптор. А управление над потоками это задача функций stream_
Я не грил что он возвращает данные) Проясню ситуацию: есть сервер который выполняет свой скрипт и посылает запрос на выполнение скрипта на другом сервере так вот, если юзать fopen, то управление в 1й скрипт не вернется пока не выполниться 2й скрипт на другом сервере, а нужно не ждать выполнения скрипта на другом серваке. ну вот) не позволяют такое (как я тестил), или ты знаешь способ?
xssww2 Насчет второго не уверен PHP: $ctx = stream_context_create(array('http' => array('timeout' => 0 ))); @file_get_contents('http://localhost/1.php', 0, $ctx); PHP: $f = fopen('server.name'); stream_set_blocking($f, 0); fwrite($f,"GET / HTTP/1.1\r\nHost: server.name\r\nConnection: Close\r\n\r\n"); fclose($f);