Получить syscall.Handle из Go *net.UDPConn в Windows?

Как получить базовый syscall.Handleдля *net.UDPConnв Windows? Я хочу, чтобы этот дескриптор устанавливал IP_MULTICAST_TTLчерез syscall.SetsockoptInt. В Linux я делаю следующее:

func setTTL(conn *net.UDPConn, ttl int) error {
    f, err := conn.File()
    if err != nil {
        return err
    }
    defer f.Close()
    fd := int(f.Fd())
    return syscall.SetsockoptInt(fd, syscall.SOL_IP, syscall.IP_MULTICAST_TTL, ttl)
}

Но в Windows неявный dupвнутри *net.UDPConnFile()терпит неудачу с:

04:24:49 main.go:150: dup: not supported by windows

А в исходниках помечен как -do. Как я могу получить эту ручку? Есть ли другой способ установить TTL, если нет?

Обновление0

Я отправил информацию о недостатках в систему отслеживания проблем Go :

7
задан Matt Joiner 15 July 2012 в 01:06
поделиться