如何在 GO 中获取 LocalAddress?
How to get the LocalAddress in GO?
我正在制作一个充当代理的网络服务器。我需要获取有关客户的信息才能做出回应。
这是我的代码:
func main(){
li, err := net.Listen("tcp", ":8000")
if err != nil{
log.Fatalln(err.Error())
}
defer li.Close()
for{
conn, err := li.Accept()
if err != nil {
log.Fatalln(err.Error())
}
local := conn.LocalAddr
remote := conn.RemoteAddr
fmt.Println(string(local.Network))
fmt.Println(string(remote.String))
go handleConn(conn)
}
}
问题是当我 运行 收到此消息时:
local.Network undefined (type func() net.Addr has no field or method Network)
但是文档说 Addr 类型有这个方法
您没有调用该函数,在您的 local
变量中您正在存储函数本身。
试试这个:
local := conn.LocalAddr()
remote := conn.RemoteAddr()
我正在制作一个充当代理的网络服务器。我需要获取有关客户的信息才能做出回应。 这是我的代码:
func main(){
li, err := net.Listen("tcp", ":8000")
if err != nil{
log.Fatalln(err.Error())
}
defer li.Close()
for{
conn, err := li.Accept()
if err != nil {
log.Fatalln(err.Error())
}
local := conn.LocalAddr
remote := conn.RemoteAddr
fmt.Println(string(local.Network))
fmt.Println(string(remote.String))
go handleConn(conn)
}
}
问题是当我 运行 收到此消息时:
local.Network undefined (type func() net.Addr has no field or method Network)
但是文档说 Addr 类型有这个方法
您没有调用该函数,在您的 local
变量中您正在存储函数本身。
试试这个:
local := conn.LocalAddr()
remote := conn.RemoteAddr()