Показать сообщение отдельно

  #2  
Старый 10.09.2008, 19:43
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

ChaaK, Ммм, крутой крутой. Банальный пример:

PHP код:
@set_time_limit(0);
@
ini_set("max_execution_time"0);
@
ignore_user_abort(1);


switch (
$_GET['cmd'])
{
    case 
'start':
        
$f=fsockopen('ya.ru',80);
        
$status=stream_get_meta_data($f); 
        while (!
$status['eof']) 
        {
            
sleep(1);
        }
    break;
    case 
'send':
        
$out "GET / HTTP/1.1\r\n";
        
$out .= "Host: ya.ru\r\n";
        
$out .= "Connection: Close\r\n\r\n";
        
fwrite($f$out);
        while (!
feof($f)) 
        {
            echo 
fgets($f128);
        }
    
fclose($f);
    break;

Если запустить скрипт с параметром ?cmd=start он открывает сокетное соединение и не разорвет его. (проверить можно netstat -b) А теперь через это соединение хочется получить все таки страницу. Как реализовать?
Цитата:
UPD: Вообще php - язык пошаговый(Т.Е выполняется пом ере работы скрипта. Тут нельзя зациклить программу как в ассемблере, c++ и других языках).
Зациклить-то можно, пример из этого поста - доказательство. Соединение с яндексом будет висеть достаточно долго, а если соединение между двумя своими серверами - то и практически вечно.

Последний раз редактировалось Gifts; 10.09.2008 в 20:29..
 
Ответить с цитированием