package core // 测试辅助:起一个真实监听端口,用来验证代理探测真的等了连接结果 import ( "net" "strconv" ) type testListener struct { ln net.Listener } func (l *testListener) port() int { addr := l.ln.Addr().(*net.TCPAddr) return addr.Port } func (l *testListener) Close() error { return l.ln.Close() } func net_listen_loopback() (*testListener, error) { ln, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { return nil, err } // 接受连接,避免 backlog 满 go func() { for { c, err := ln.Accept() if err != nil { return } c.Close() } }() return &testListener{ln: ln}, nil } var _ = strconv.Itoa