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

Writing and Reading from a socket a second time

我连接到 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);
}

我错过了什么? 我真的很想使用相同的连接。

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