質問: recv(sockfd, recvBuff, 1024, 0); if(recvLen =< 0) { /* エラー */ break; } else { /* bodyにrecvBuffの内容をコピー */ } } else { /* タイムアウト */ break; } } ``` ### 補足情報(言語/FW/ツール等のバージョンなど)
回答: > > select()のmanページを読んだ限り、"FD_ZERO, FD_SET, timevalへの時間の代入"はselect()を呼ぶ前に毎回必要なように読み取れたのですが、あっていますでしょうか? > > > Unix/Linuxですよね?その理解で合っています。 どちらの引数も、select()の呼び出しで更新されます(正確には、更新されることがあります)。 細かいことを言うと、`FD_ZERO(&rfds);`はループの外でもいいでしょう。