ノンブロッキングソケット、タイムアウトの選択、読み取り(2) および書き込み(2)を使用して、いくつかのレガシー コードを取得しました。select/1024 fd の制限により、時々失敗するようになりました。だから私は選択を置き換える必要があります。
RCVTIMEO と SNDTIMEO もタイムアウトをチェックできるようですが、それらはブロッキングモードで機能し、非ブロッキングからブロッキングに変更するには影響が大きすぎます。
非ブロックソケットのタイムアウトをチェックするための他のベストプラクティスはありますか? または、これを解決するにはタイマー/ナノスリープを取得する必要がありますか?