Диапазоны портов IPC - PullRequest
       0

Диапазоны портов IPC

2 голосов
/ 05 января 2012

IPC можно сделать через сокеты TCP / IP.Какие диапазоны портов я должен использовать для локального IPC между программами под Windows?
Имеет ли значение, какую версию Windows я использую?
В случае, если я хочу быть кросс-платформенным, отличается ли это под Linux?
Имеет ли значение, на каком языке я пишу?
Имеет ли значение локальный IPC или нет?

Ответы [ 2 ]

3 голосов
/ 06 января 2012

В принципе, если ваша программа будет широко использоваться, вы должны получить номер порта, назначенный вам IANA согласно RFC6335 .Если вы не подходите для назначения, ваша программа должна выбрать неиспользуемый порт в диапазоне 49152-65535 во время выполнения и сообщить этот номер порта другим процессам другими способами.

На практике выобычно может сойти с рук использование любого редко используемого порта в диапазоне 1024-49151, хотя следует учитывать возможность того, что его будет использовать другая программа.Обычно это делается путем предоставления пользователю возможности настроить использование другого порта, например, вы можете использовать параметр реестра.

Назначенные номера портов можно просмотреть в IANA .Этот список может быть полезен для избежания использования портов, которые особенно вероятно используются.

Для записи в Windows обычно проще использовать какой-либо другой метод IPC, например именованные каналы.

1 голос
/ 05 января 2012

Вам следует избегать использования портов с 0 по 1023, если ваше программное обеспечение предназначено для быть доступным для непривилегированных (не-root) пользователей под Linux или другими Unix-подобными платформами.

Используемый язык программирования или версия ОС (в пределах одной семьи, например, Windows или Linux) не должен ограничивать выбор номеров портов для использования в IPC.

...