gpt4 book ai didi

go - 从 net tcp 连接获取 IPv4 地址

转载 作者:行者123 更新时间:2023-12-01 22:35:55 25 4
gpt4 key购买 nike

当新的 TCP 客户端连接到我的 Go 服务器时,我正在尝试打印日志。

        l, err := net.Listen("tcp", bindPort)
c, err := l.Accept()
clientIP := c.RemoteAddr().String()
fmt.Println("==> accepted new client, IP:", clientIP)
我在本地主机上测试的输出
==> accepted new client, IP: [::1]:56780
我没有找到任何方法来获取或将其转换为 IPv4 (192.168.1.31) 形式。

最佳答案

如果你想使用 IPv4,你可以强制它只听 IPv4

bindPort := "0.0.0.0:1234"
// or to be more specific, bindPort := "192.168.1.31:1234"
l, err := net.Listen("tcp", bindPort)

我假设你在 Linux 上运行 golang,如果你使用默认内核选项,IPv6 更像是一个默认监听器。
此外,如果您不想以 localhost 连接,您可以指定绑定(bind)地址以连接到服务器。 IE:
client, _ := net.Dial("tcp", "192.168.1.31:1234")

关于go - 从 net tcp 连接获取 IPv4 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63189399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com