Мультитрединг и сокеты. РНР
Код:
<?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
Как можно "исправить" этот код, применив многопоточночть?
В простом бейсике я это делал, но в РНР столкнулся впервые.
Чувствуется, что надо юзать declare, но пока не очень представляю ее (функции этой) применение.
Собсно все.
[phpdoc]pcntl_fork[/phpdoc]
Спасибо, нашел то, что интересовало. Как заюзать сокеты, правда еще не очень хорошо представляю, но разберусь. Да, кстати, бывает ли что хостер не разрешает создание дочерних процессов? Ведь получается, не лишняя нагрузка это на ресурс хостера? А если создать оочень много дочерних процессов, да еще и не на одном сервере, да еще и сокеты задействовать - то можно же вообще Denial of Service вызвать? O_o Или я ошибаюсь?
бываете даже такое, что хостер не разрешает юзать fsockopen, а для запрета дочерних процессов достаточно запретит pcntl_*