Wenn ich den obigen Code kompiliere und ausführe, bekomme ich:
%Vor% und wenn ändern, um die ::1
zu binden und andere Sache unverändert im Quellcode, den Code zu lassen
funktioniert! Könnten Sie mir sagen, was mit meinem Code nicht stimmt? Danke im Voraus.
Für verbindungslokale Adressen müssen Sie auch die Bereichs-ID der Netzwerkschnittstelle angeben, die mit der Adresse verknüpft ist ... etwa so:
%Vor%Sie können gettifaddrs () verwenden, um die verschiedenen Bereichs-IDs zu finden, die auf Ihren Systemen verfügbar sind, und die Netzwerkschnittstellen, denen sie entsprechen.
(Ja, es ist ein Schmerz ... alternativ könnten Sie etwas wie "% en0" an das Ende der Zeichenfolge anhängen, die Sie an inet_pton () übergeben, und inet_pton () könnte die Arbeit für Sie erledigen.) Ich bin mir nicht sicher, ob inet_pton () diese Syntax beherrscht oder nicht)