J'écris un service Windows qui exposera un service Web http RESTful pour d'autres processus sur la machine. Cela sera déployé sur de nombreuses machines sur divers postes de travail d'entreprise sur lesquels je n'ai que peu ou pas de contrôle. Comment choisir le port sur lequel mon service doit écouter?
Je vais le rendre configurable, mais j'ai besoin de savoir comment choisir des valeurs par défaut raisonnables.
fyi je prévois d'utiliser .NET 3.5 (incapable d'utiliser 4.0 pour des raisons de déploiement) et WCF avec WCF REST Starter Toolkit .
[~ # ~] mise à jour [~ # ~] : pour clarifier, ce sont des machines de non-développement d'entreprise. Je veux choisir un port qui ne sera probablement pas utilisé pour autre chose. Je suppose que dans cette liste de NUMÉROS DE PORT (merci @Pascal Thivent) que je devrais en choisir un dans la plage dynamique/privée
Les ports dynamiques et/ou privés sont ceux de 49152 à 65535
Existe-t-il une meilleure façon de choisir un port dans cette plage, ou dois-je simplement choisir au hasard?
En fin de compte, nous avons choisi un port arbitraire inutilisé dans la plage des ports enregistrés - de 1024 à 49151 - puis l'avons rendu configurable sur la possibilité que quelqu'un arrive et utilise ce port pour autre chose. La meilleure solution serait alors d'enregistrer ce port.
Nous avons choisi de ne pas utiliser un port dynamique car les processus peuvent commencer arbitrairement à les utiliser, il serait donc moins cohérent que le port soit disponible.
Les attributions officielles enregistrées auprès de l'Internet Assigned Numbers Authority (IANA) pour HTTP sont:
Les ports ci-dessous sont des ports non officiels (non enregistrés auprès de l'IANA) qui sont également utilisés:
Je ne sais pas quel type de machines vous ciblez mais si elles incluent des machines de développement, j'utiliserais probablement 8090 pour minimiser les conflits possibles.
Si votre service est HTTP, vous devez utiliser le port 80 - le port HTTP standard. Ceci est typique de la plupart des services Web REST.