ここで、PHPソケットサーバーとクライアントの基本をかじっていました。
次に、これらの行に出くわしました(上記のリンクの最初の例からの抜粋、内部で発生しますwhile
):
if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
break 2;
}
if (!$buf = trim($buf)) {
continue;
}
読み取り部分は問題ありませんが、読み取りエラーが発生した場合に備えて接続を閉じます。
しかし、その次if
は私を夢中にさせています。
まず、ブール値に値を割り当てる方法とその必要性について混乱しています。
第二に、表現全体を完全に理解するのに苦労しています。
そのifの中で何が起こるか、そしてそれがサーバーコンテキストにどのように適用されるかを誰かが説明してもらえますか?
PS 質問が適切に行われていない場合は、ご容赦ください。私はそこで何が起こっているのかについてあまりにも混乱していて、具体的に何を求めるべきかわかりません.