生のソケット (ICMP パケット用) からデータを読み取る Linux で C/C++ アプリケーションを作成しています。質問: ソケットでまだキューに入れられているすべてのデータを破棄する方法はありますか?
問題は、しばらくスリープした後、興味のないデータがソケットにキューに入れられていることです。select()/recvfrom() ループに入ると、最近受信したデータのみを取得できるように、ソケットに「現在バッファリングしたすべてのデータを忘れる」ように指示するのが最善です。
最初に別の poll()/recvfrom() ループに入るよりも良い方法はありますか? おそらくいくつかのソケットAPI呼び出し?ポータブルでも?:-)