Open
Description
Go version
go version go1.20.11 darwin/arm64
Output of go env
in your module/workspace:
GO111MODULE="on"
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/xxxx/Library/Caches/go-build"
GOENV="/Users/xxxx/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/xxxx/go/pkg/mod"
GONOPROXY="sum.golang.google.cn"
GONOSUMDB="sum.golang.google.cn"
GOOS="darwin"
GOPATH="/Users/xxxx/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.20.11"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/xxxx/Desktop/xxxx/gomobile/go.mod"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/tl/pjq29cdd6s53760n3zjwwr3c0000gn/T/go-build3441012208=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
package mobile
import (
"fmt"
"log"
"net"
"net/netip"
"syscall"
"github.com/wlynxg/anet"
)
func Greetings(name string) string {
anet.SetAndroidVersion(14)
allifaces, err := anet.Interfaces()
if err != nil {
return fmt.Sprintf("Error: %s!", err)
}
s := ""
for _, iface := range allifaces {
s += iface.Name
addrs, err := anet.InterfaceAddrsByInterface(&iface)
if err != nil {
s += fmt.Sprintf("Error: %s", err) + "\n"
} else {
s += fmt.Sprintf("%s \n", addrs)
}
for _, addr := range addrs {
parseAddr, err := netip.ParsePrefix(addr.String())
if err != nil {
continue
}
if parseAddr.Addr().Is4() || parseAddr.Addr().IsMulticast() {
continue
}
addr := fmt.Sprintf("[%s%%%s]:0", parseAddr.Addr().String(), iface.Name)
_, err = net.Listen("tcp", addr)
if err != nil {
log.Printf("listen %s error: %s", addr, err)
}
}
}
return fmt.Sprintf("Hello, %s!", s)
}
What did you see happen?
listen [fe80::d461:24ff:fe95:d487%wlan0]:0 error: listen tcp [fe80::d461:24ff:fe95:d487%wlan0]:0: bind: invalid argument
listen [fe80::b6ee:d454:7f5b:6fe%rmnet_data1]:0 error: listen tcp [fe80::b6ee:d454:7f5b:6fe%rmnet_data1]:0: bind: invalid argument
listen [fe80::64bd:d9ff:fe5b:92a6%dummy0]:0 error: listen tcp [fe80::64bd:d9ff:fe5b:92a6%dummy0]:0: bind: invalid argument
listen [fe80::e0f1:31ff:fe88:8eb%ifb0]:0 error: listen tcp [fe80::e0f1:31ff:fe88:8eb%ifb0]:0: bind: invalid argument
listen [fe80::6cbb:96ff:fe13:ff68%ifb1]:0 error: listen tcp [fe80::6cbb:96ff:fe13:ff68%ifb1]:0: bind: invalid argument
listen [fe80::b0a1:c3ff:fe6d:c67%ifb2]:0 error: listen tcp [fe80::b0a1:c3ff:fe6d:c67%ifb2]:0: bind: invalid argument
listen [fe80::d41b:7750:b2d1:8fc6%rmnet_data0]:0 error: listen tcp [fe80::d41b:7750:b2d1:8fc6%rmnet_data0]:0: bind: invalid argument
listen [fe80::84bb:a6ff:cd2d:2ff1%rmnet_data3]:0 error: listen tcp [fe80::84bb:a6ff:cd2d:2ff1%rmnet_data3]:0: bind: invalid argument
listen [fe80::5bec:aaaf:e221:d681%rmnet_data4]:0 error: listen tcp [fe80::5bec:aaaf:e221:d681%rmnet_data4]:0: bind: invalid argument
What did you expect to see?
listen success