持久的联系

时间:2014-11-12 12:02:58

标签: php sockets

我想与我的网站建立本地持久连接。 我想创建一个单一的连接,我可以交换无限的消息。 我使用下面的代码。 但它真的坚持不懈?在“while”打开(fsockopen)和关闭(fclose)连接,但如果我把它们带出“while”给我带来问题。  

$url="localhost/socket/socket.php";

$host=substr($url,0,strpos($url,"/"));
$req=substr($url,strpos($url,"/"));

$var=fopen("out.txt","a+");
while(1){
    $fp = fsockopen($host, 80, $errno, $errstr, 30);
    if ($fp) {
        $data = "test=1";

        $request  = "POST ".$req." HTTP/1.1\r\n";
        $request .= "Host: ".$host."\r\n";
        $request .= "Content-Length: " . strlen($data) . "\r\n";
        $request .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
        $request .= $data;

        fwrite($fp, $request);

        while (!feof($fp)) {
            $json = fgets ($fp);
            echo $json;
            fwrite($var, $json);
        }
    }

    sleep(10);
    fclose($fp);
}

1 个答案:

答案 0 :(得分:0)

如果您想要持久连接,则应使用pfsockopen而不是fsockopen。查看here了解更多详情。