В C вы можете использовать имя службы, чтобы получить номер порта при использовании getaddrinfo, как это:обслуживание на номер порта, как getaddrinfo
getaddrinfo("stackoverflow.com", "http", &hints, &results);
Это присвоит 80 (большой обратный порядок байт) в первых двух байтах (uint16_t) результатов-> ai_addr.
Есть ли какой-нибудь простой способ получить номер порта? давая имя службы? Мне нужно это для серверной части, где я хочу разрешить пользователю указывать номер порта или имя службы для подключения и прослушивания порта.
'Grep -w HTTP/и т.д./services'? – alk
@alk, это хорошая идея, но есть ли для этого стандартная функция C? –
Нет, а также 'getaddrinfo()' не является стандартным C. – alk