fix android dns query

This commit is contained in:
wenyifan
2026-06-28 15:01:58 +08:00
parent cb5d5c590b
commit a24d79fd45
+6 -1
View File
@@ -4,6 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"net" "net"
"runtime"
"strings" "strings"
"syscall" "syscall"
"time" "time"
@@ -145,8 +146,12 @@ func (d *Dialer) dialOnce(ctx context.Context, network, addr, ifceName string, i
default: default:
return nil, fmt.Errorf("dial: unsupported network %s", network) return nil, fmt.Errorf("dial: unsupported network %s", network)
} }
var resolver *net.Resolver
if runtime.GOOS != "android" {
resolver = &net.Resolver{PreferGo: true}
}
netd := net.Dialer{ netd := net.Dialer{
Resolver: &net.Resolver{PreferGo: true}, Resolver: resolver,
LocalAddr: ifAddr, LocalAddr: ifAddr,
Control: func(network, address string, c syscall.RawConn) error { Control: func(network, address string, c syscall.RawConn) error {
return c.Control(func(fd uintptr) { return c.Control(func(fd uintptr) {