Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Мультитрединг и сокеты. РНР

251
22 ноября 2007 года
SkyMаn
1.7K / / 31.07.2007
Возник вопрос по тому, как сделать коннект, используя сокеты (fsockopen) и запустить несколько тредов. Может на Перле или вообще юзать серверное ПО было бы лучше? Чем?
Код:
<?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);
}
?>

Как можно "исправить" этот код, применив многопоточночть?
В простом бейсике я это делал, но в РНР столкнулся впервые.
Чувствуется, что надо юзать declare, но пока не очень представляю ее (функции этой) применение.
Собсно все.
4
22 ноября 2007 года
mike
3.7K / / 01.10.2002
[phpdoc]pcntl_fork[/phpdoc]
251
22 ноября 2007 года
SkyMаn
1.7K / / 31.07.2007
Спасибо, нашел то, что интересовало. Как заюзать сокеты, правда еще не очень хорошо представляю, но разберусь. Да, кстати, бывает ли что хостер не разрешает создание дочерних процессов? Ведь получается, не лишняя нагрузка это на ресурс хостера? А если создать оочень много дочерних процессов, да еще и не на одном сервере, да еще и сокеты задействовать - то можно же вообще Denial of Service вызвать? O_o Или я ошибаюсь?
285
23 ноября 2007 года
Romik
479 / / 24.11.2002
бываете даже такое, что хостер не разрешает юзать fsockopen, а для запрета дочерних процессов достаточно запретит pcntl_*
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог