为了账号安全,请及时绑定邮箱和手机立即绑定

从 net tcp 连接获取 IPv4 地址

从 net tcp 连接获取 IPv4 地址

Go
芜湖不芜 2022-06-21 15:45:33
当新的 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) 形式。
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

如果你想使用 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身份连接,则可以指定绑定地址以连接到服务器。IE:


client, _ := net.Dial("tcp", "192.168.1.31:1234")


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信