提问者:小点点

第二次从套接字写入和读取


我连接到whois服务器,并且能够检索域名的可用性。 不知何故,当我做一个不同域名的请求时,我不能用相同的连接得到响应。

<?php
$context = stream_context_create();
if($fp = stream_socket_client("tcp://whois.eu:43", $errno, $errstr, 30, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $context)) {

    stream_set_timeout($fp, 30);
    
    $domains = array('test.eu','amaai.eu');
    foreach($domains as $domain) {  
        fwrite($fp, $domain."\r\n");
        $contents = '';
        while (!feof($fp)) {
            $contents .= fread($fp, 8192);
        }

        echo $domain.": ".$contents;
    }

    fclose($fp);
}

我错过了什么? 我真的想用同样的连接。


共1个答案

匿名用户

WHOIS协议只支持一个查询。 服务器在发送响应后关闭连接。 您需要为每个查询重新连接。