0
소켓에서 읽는 데 문제가 있습니다. 기본적으로 오류없이 컴퓨터에 연결할 수 있습니다. 오류없이 컴퓨터에 쓸 수 있습니다. 출력을 읽을 수없는 것 같습니다.PHP 소켓 - 출력을 읽지 않습니다.
나에게 정말 이상한 무엇$header1 = chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).chr(0x45).chr(0x52).chr(0x4D).chr(0xFF).chr(0xF0);
$header2 = chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);
$fp = pfsockopen('ServerName',$port,$errno,$errstr,35);
if(!$fp) {
echo '<p>Error connecting to system.</p>';
echo $errstr . ' (' . $errno . ')';
} else {
fputs($fp, $header1);
sleep(1);
fputs($fp, $header2);
sleep(1);
fputs($fp, "99\r");
sleep(3);
$read = fread($fp, 128);
$pos = socket_get_status($fp);
echo '<pre>';
var_dump($pos);
echo '</pre>';
//$read = fread($fp,$pos["unread_bytes"]);
//$read = str_replace("\n","<br>",$read);
//$explode = explode("\"",$read);
}
fclose($fp);
는 socket_get_status()가 0의 읽지 않은 바이트를 가지고 있다는 것입니다, 그러나 EOF은 false입니다 : 여기
내가 뭘하는지입니다. 나에게 상당히 모순 된 것처럼 보입니다.
array(7) {
["stream_type"]=>
string(14) "tcp_socket/ssl"
["mode"]=>
string(2) "r+"
["unread_bytes"]=>
int(0)
["seekable"]=>
bool(false)
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
}
출력물을 얻을 수없는 이유는 누구입니까?
감사합니다.