Windowsの の基盤syscall.Handleを取得するにはどうすればよいですか? このハンドルでvia*net.UDPConnを設定したい。Linuxでは、次のことを行います。IP_MULTICAST_TTLsyscall.SetsockoptInt
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 では、暗黙のdupinsideは次*net.UDPConnのようにFile()失敗します。
04:24:49 main.go:150: dup: Windows ではサポートされていません
そして、ソース コードでは、to-do としてマークされています。このハンドルを取得するにはどうすればよいですか? そうでない場合、TTLを設定する他の方法はありますか?
Update0
欠点を Go イシュー トラッカーに提出しました。