Ich habe Probleme, dies herauszufinden - ich arbeite mit Steckdosen in C unter Verwendung dieser Anleitung - http://binarii.com/files/papers/c_sockets.txtSockets - So finden Sie heraus, was Port und Adresse, die ich zugewiesen bin
Ich versuche, automatisch zu erhalten meine IP und Port mit:
server.sin_port = 0; /* bind() will choose a random port*/
server.sin_addr.s_addr = INADDR_ANY; /* puts server's IP automatically */
...
...
bind(int fd, struct sockaddr *my_addr,int addrlen); // Bind function
Nach einer erfolgreichen Bindung, wie finde ich heraus, welche IP-Adresse und Port ich eigentlich zugewiesen bin?
Eigentlich, was passiert, wenn Sie angeben, INADDR_ANY' ist nicht, dass es die IP des Servers automatisch einfügt, was es tut, ist alle Schnittstellen findet und bindet an jede von ihnen. Daher haben Sie viele richtige Antworten auf Ihre Frage. – jer
Hmm - danke jer. Eine Aufgabe, an der ich arbeite, erfordert, dass ich die IP und den Port mit dem angegebenen Code automatisch erhalte, aber ich muss die Serveradresse und den Port drucken, damit der Client sich mit dem Bildschirm verbinden kann. Das ist, was ich versuche herauszufinden, wie es geht. Wenn ich die Sockaddr-Struktur verwende, bekomme ich nur 0.0.0.0 und Port 0. – stringo0
Siehe http://stackoverflow.com/questions/2496302/how-can-i-obtain-the-local-tcp-port-and-ip -address-of-my-client-programm – mark4o