Comment se lier à n'importe quel port disponible?

Je besoin d'une application qui envoie un paquet UDP à un serveur réseau et reçoit la réponse. Le serveur répond au même numéro de port où la demande est venue de partir, si j'ai d'abord besoin de bind() de ma prise de tout numéro de port UDP.

Coder en dur le numéro de port UDP est une mauvaise idée, car il peut être utilisé par une autre application en cours d'exécution sur le même PC.

Est-il un moyen de lier une socket UDP vers n'importe quel port disponible? OMI, il devrait être un moyen efficace pour obtenir rapidement un port libre #, qui est utilisé par exemple par accept() de la fonction.

Si non, quelle est la meilleure stratégie pour essayer de liaison et de vérifier WSAEADDRINUSE/EADDRINUSE statut: essayez les ports de l'ordre, en commençant à partir de 1025, ou 1025+rand(), ou de quelques autres?

InformationsquelleAutor Soonts | 2009-07-02