podman

Форк
0
/
ports.go 
25 строк · 556.0 Байт
1
package utils
2

3
import (
4
	"fmt"
5
	"net"
6
	"strconv"
7
)
8

9
// Find a random, open port on the host.
10
func GetRandomPort() (int, error) {
11
	l, err := net.Listen("tcp", ":0")
12
	if err != nil {
13
		return 0, fmt.Errorf("unable to get free TCP port: %w", err)
14
	}
15
	defer l.Close()
16
	_, randomPort, err := net.SplitHostPort(l.Addr().String())
17
	if err != nil {
18
		return 0, fmt.Errorf("unable to determine free port: %w", err)
19
	}
20
	rp, err := strconv.Atoi(randomPort)
21
	if err != nil {
22
		return 0, fmt.Errorf("unable to convert random port to int: %w", err)
23
	}
24
	return rp, nil
25
}
26

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.