私は、サーバーからデータを読み取るソケットクライアントを持っています。なぜソケット読み取りはループを去らないのですか?
しかし、それ以上読み込むデータがなくなるとすぐにdo..whileループは終了しませんか?どうしてこんなことに?おかげ
while (true)
{
$data_old=$data;
$data = file_get_contents("userInput.txt");
if($data_old != $data)
{
socket_write($socket, $data, strlen($data));
do
{
$line [email protected]_read($socket,2048);
echo $line. "\n";
}
while($line != "");
}
}
読んでいるときにデータがあると思いますので、いくつかの種類の終了フラグなどを使用して、読み取りが空のメッセージを停止または送信することを知るようにします。 –
空の行が得られない –
明らかに、読み取るデータがなくなったときにsocket_read()は( "")を返します。 – Dayzza