Ich schreibe ein Programm, um den Socket-Netzwerkfluss zu erfassen, um die Netzwerkaktivität anzuzeigen. Dafür habe ich mich gefragt, ob es irgendwie möglich ist, den Socket-Typ aus dem Socket-Deskriptor zu bestimmen.(Wie) Kann ich den Socket-Typ aus dem Socket-Deskriptor finden?
Ich weiß, dass ich Socket-Familie mit getsockname finden kann, aber ich konnte keinen Weg finden, Socket-Typ zu finden.
Zum Beispiel möchte ich herausfinden, ob dieser Socket als UDP oder TCP geöffnet war. Danke für jede Beratung im Voraus.
YEH
Vielen Dank! Ich werde sicherlich eine Fehlerüberprüfung durchführen. – YEH
getsockname() und getsockopt() sind nicht spezifisch für POSIX. Microsoft Winsock API hat sie auch. –
@Remy Lebeau Ja, sie basieren beide auf der BSD-Socket-Ebene. Es gibt einige kritische Unterschiede, aber eine solche einfache Verwendung von getsockopt() ist wahrscheinlich die gleiche. –