Voyager2K
Новичок
По-человечески прочитать сокет.
Например, коннект к smtp серваку маил.ру
Такой код затыкается т.к. feof() в случае с сокетами ждет таймаута. ;(
если писать:
while($fg = fgets($con))
echo 'S: '.$fg.'<br>';
То же будет застопаривание.
Каким образом можно прочитать построчно ответ сервера, да бы не писать кучу раз fgets (как в комменте кода) ? да еще не известно сколько именно ведь строчек прейдет т.ч. куча fgets'ов не вариант.
Например, коннект к smtp серваку маил.ру
PHP:
<?
$con = fsockopen("smtp.mail.ru", 25, $errno, $errstr, 30);
echo 'S: '.fgets($con).'<br>';
$s = "EHLO SOMEUSER\r\n";
fputs($con, $s);
echo 'C: '.$s.'<br>';
while(!feof($con))
echo 'S: '.fgets($con).'<br>';
/*echo 'S: '.fgets($con).'<br>';
echo 'S: '.fgets($con).'<br>';
echo 'S: '.fgets($con).'<br>';*/
?>
если писать:
while($fg = fgets($con))
echo 'S: '.$fg.'<br>';
То же будет застопаривание.
Каким образом можно прочитать построчно ответ сервера, да бы не писать кучу раз fgets (как в комменте кода) ? да еще не известно сколько именно ведь строчек прейдет т.ч. куча fgets'ов не вариант.