Wie binde ich an einen verfügbaren Port?

Ich benötige eine App, die ein UDP-Paket an einen Netzwerkserver sendet und die Antwort empfängt. Der Server antwortet auf die gleiche Portnummer, von der die Anfrage stammt, daher muss ich zuerst meinen Socket an eine UDP-Portnummer binden ().

Das Hardcodieren der UDP-Portnummer ist eine schlechte Idee, da sie von jeder anderen Anwendung verwendet werden kann, die auf demselben PC ausgeführt wird.

Gibt es eine Möglichkeit, einen UDP-Socket an einen verfügbaren Port zu binden? IMO sollte es eine effektive Möglichkeit sein, schnell eine freie Portnummer zu erhalten, die z. accept () Funktion.

Wenn nein, was ist dann die beste Strategie, um die Bindung zu versuchen und den WSAEADDRINUSE- / EADDRINUSE-Status zu überprüfen: Probieren Sie die Ports nacheinander ab 1025 oder 1025 + rand () oder eine andere aus?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage