第二次从套接字写入和读取
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 协议只支持一次查询。服务器在发送响应后关闭连接。您需要为每个查询重新连接。
我连接到 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 协议只支持一次查询。服务器在发送响应后关闭连接。您需要为每个查询重新连接。