У меня есть приложение, которое прослушивает порт для получения информации от сценариев на различных клиентских серверах. И мне нужно решить, какой порт я должен назначить приложению для привязки. Я могу просмотреть этот список и узнать, какие порты не использовать. assign, но я не понимаю, как разработчики решают назначать порты своим приложениям. Являются ли они просто случайными или существуют рекомендации по использованию определенных диапазонов портов для разных типов приложений?
Рекомендации по выбору портов для вашего приложения
Ответы (2)
Это в основном случайно. Выберите порт из одного из неназначенных/частных диапазонов в списке IANA и надейтесь на лучшее.
Возможно, вы захотите спросить администраторов сервера и сети, есть ли порт, который они хотят, чтобы вы использовали, поскольку им может потребоваться настроить брандмауэры/маршрутизаторы/и т. д. (Они могут даже знать, какие порты используются, и дать вам окончательный ответ о пригодном для использования порте, но это было бы нетипично.)
Если ваше приложение не может открыть порт для прослушивания, вы должны убедиться, что кто-то увидит сообщение об ошибке. Вероятно, это означает, что что-то еще использует порт, поэтому вам необходимо разрешить конфликт. Точно так же, если клиенты подключаются к чему-либо через этот порт и получают «странные» выходные данные, убедитесь, что сообщение об ошибке передается надлежащим образом.
И не запрограммируйте этот номер порта ни в одном из ваших приложений. Сделайте его настраиваемым с помощью параметра командной строки, конфигурационного файла, переменной среды и т. д. Если вам сложно изменить его, вам обязательно нужно его изменить.
Ваша главная цель — получить тот, который обычно не используется, кроме того, выберите то, что вам нравится.
Иногда я проявляю творческий подход и нахожу способ вычислить значимую, но непонятную ссылку на приложение. Часто я преобразовываю символы в имени приложения в значения ascii, складываю их и, в зависимости от возможного значения, умножаю на другое число, чтобы получить его в диапазоне 1024-65000.