Я написал серверное приложение на erlang и клиент на C #. Они общаются через 3 порта TCP. Номера портов жестко закодированы. Теперь я хотел бы сделать это динамически. Я впервые занимаюсь сетевым программированием, поэтому извините за неспособность использовать правильную терминологию: -D
Я хотел бы создать супервизор, который будет принимать TCP-соединение от клиента по ранее известному порту (скажем, 10000 или как-то еще), затем найти 3 свободных порта, запустить приложение сервера на этих 3 портах. и сообщите клиенту эти номера портов, чтобы клиент мог подключиться к серверу.
Моя конкретная проблема: как найти 3 порта, которые не используются? (уточнение: какой модуль: fun () использовать для поиска свободного порта?)
Моя общая проблема: я уверен, что такого рода вещи (один сервер выделяет порты и перенаправляет клиентов) является довольно распространенной проблемой сетевого программирования, и для этого должно быть множество (специфичных для erlang или общих) ресурсов, но У меня просто нет терминологии, чтобы погуглить.