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

如何在 Golang 中将网络客户端的 IP 转换为字符串?

如何在 Golang 中将网络客户端的 IP 转换为字符串?

Go
繁花不似锦 2021-09-27 21:26:49
我正在尝试在与服务器建立连接时获取客户端 IP。尝试使用RemoteAddr()返回一个 addr 类型,虽然我可以使用 打印到控制台fmt.Println,但我正在尝试将该值分配给一个字符串变量。这可能吗?或者有没有更好的方法来提取连接的客户端的 IP 地址?我正在处理的函数示例(strRemoteAddr作业是问题部分,但我将其作为占位符保留...):func GrabInput(conn net.Conn, strFromListenerNumber string) {    var strMessage string    var strRemoteAddr string    bufIncoming := make([]byte, 1024)    strRemoteAddr = conn.RemoteAddr()    for {        bytesRead, err := conn.Read(bufIncoming)        if err != nil {            LogEvent(strFromListenerNumber, err.Error())            return        }        strMessage = string(bufIncoming[0 : bytesRead-1])        LogEvent(strFromListenerNumber+": "+strRemoteAddr, strMessage)    }}
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

似乎只是

strRemoteAddr = conn.RemoteAddr().String()

可以做到,net.Addr 类型具有用于字符串表示的方法 String()。


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 672 浏览
慕课专栏
更多

添加回答

举报

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