Wie kann man feststellen, ob ein Dateihandle ein Socket ist?

Lesezeit: 1 Minute

Benutzeravatar von netom
netom

Ich muss die Socket-Nutzung protokollieren und habe eine LD_PRELOAD-Bibliothek geschrieben.

Das Problem ist, wenn ich read() und write() überschreibe, werden (natürlich) auch normale Dateioperationen protokolliert.

Wie kann ich also normale Dateideskriptoren und Socket-Deskriptoren voneinander unterscheiden?

Forderung fstat auf den Deskriptor und verwenden Sie die S_ISSOCK Makro auf das Ergebnis.

struct stat statbuf;
fstat(fd, &statbuf);
S_ISSOCK(statbuf.st_mode);

1443880cookie-checkWie kann man feststellen, ob ein Dateihandle ein Socket ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy