Ao desenvolver um aplicativo que ouvirá em uma porta TCP / IP, como alguém deve proceder para selecionar uma porta padrão? Suponha que este aplicativo será instalado em muitos computadores e que é desejável evitar conflitos de porta.
Ao desenvolver um aplicativo que ouvirá em uma porta TCP / IP, como alguém deve proceder para selecionar uma porta padrão? Suponha que este aplicativo será instalado em muitos computadores e que é desejável evitar conflitos de porta.
Respostas:
Vá aqui e escolha uma porta com a descriçãoUnassigned
Primeira etapa: veja a lista da IANA :
Lá você verá no final da lista
"As portas dinâmicas e / ou privadas são aquelas de 49152 a 65535"
então essas seriam suas melhores apostas, mas depois de escolher um, você sempre pode pesquisar no Google para ver se há um aplicativo popular o suficiente que já o "reivindicou"
A lista mais abrangente de números de portas oficiais e não oficiais da IANA que conheço é nmap-services .
Você provavelmente deseja evitar o uso de quaisquer portas desta lista (Wikipedia).
Eu escolheria apenas um, e assim que o aplicativo for usado pelas massas, o número da porta será reconhecido e incluído nessas listas.
Como outros mencionaram, verifique IANA.
Em seguida, verifique seus sistemas locais / etc / services para ver se existem algumas portas personalizadas já em uso.
E, por favor, não fixe o código. Certifique-se de que seja configurável, de alguma forma, de alguma forma - se por nenhuma outra razão que você deseja ter vários desenvolvedores usando suas próprias compilações localizadas ao mesmo tempo.
A escolha de um produto não atribuído da lista da IANA geralmente é suficiente, mas se você está falando sobre um produto lançado comercialmente, você realmente deve se inscrever na IANA para que um seja atribuído a você. Observe que o processo de fazer isso é simples, mas lento; a última vez que me inscrevi, demorou um ano.
Se for para um aplicativo que você espera que seja amplamente utilizado, registre um número aqui para que ninguém mais o use.
Caso contrário, basta escolher um não utilizado aleatoriamente.
O problema de usar um na faixa dinâmica é que ele pode não estar disponível porque pode estar sendo usado para um número de porta dinâmica.
Use a lista iana. Baixe o arquivo csv em:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
e use este script de shell para pesquisar portas não registradas:
for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;
e coloque 2 números em vez de N e M.
Bem, você pode consultar alguns números de porta comumente usados aqui e tentar não usar os de mais ninguém.
Se por "aberto ao público em geral" você quer dizer que está abrindo portas em seus próprios sistemas, eu teria uma conversa com os administradores do sistema sobre com quais portas eles se sentem confortáveis para fazer isso.
Escolha uma porta padrão que não interfira com os daemons e servidores mais comuns. Certifique-se também de que o número da porta não esteja listado como um vetor de ataque para alguns vírus - algumas empresas têm políticas rígidas onde bloqueiam essas portas de qualquer maneira. Por último, mas não menos importante, certifique-se de que o número da porta seja configurável.