Обычно я использую некоторый случайный порт для своих клиент-серверных приложений в Delphi / C ++ Builder. Но, поскольку я работаю в здании со строгими политиками брандмауэра, я хотел бы использовать порт 80 (TCP и / или UDP).
У меня вопрос, возникнут ли у меня какие-либо проблемы в связи клиент-сервер, если есть другие приложения, использующие тот же порт? Я полагаю, что мой сервер также перехватит эту связь? Я хотел бы избежать любых возможных конфликтов с другими приложениями.
Да, у вас будут проблемы, если есть приложение, которое прослушивание на порт 80, то вы не можете использовать этот порт.
Обратите внимание, что браузеры используют порт 80 в качестве целевых портов, они не слушают 80. Поэтому не считайте их, когда хотите использовать этот порт.
Если я правильно понимаю ваш вопрос, вы, кажется, обеспокоены портами на стороне клиента, а не на стороне сервера. Ваше приложение может свободно подключаться к серверу, который прослушивает порт 80, и оно не будет мешать другим клиентским приложениям, работающим на той же машине. Если бы это мешало, такие вещи, как несколько браузеров / вкладок были бы невозможны.
Есть несколько отличных ответов на этот вопрос которые объясняют более подробно, как работают порты.
Проблемы могут возникнуть только в том случае, если другие серверы прослушивают порт 80 на компьютере сервера. В этом случае ваше приложение не сможет привязаться к порту 80. Приложение не будет мешать работе веб-браузеров, поскольку они используют случайный порт на стороне клиента.
Если сеть использует брандмауэры уровня приложений, они могут блокировать данные, отличные от HTTP, через порт 80. Поэтому, если ваше приложение использует порт 80 просто «потому что он не защищен большинством брандмауэров», будьте готовы к таким более строгим настройкам брандмауэра, которые не позволяют взаимодействовать клиент-сервер.