gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:15:56 25 4
gpt4 key购买 nike

当与服务器建立连接时,我正在尝试获取客户端 IP。尝试使用 RemoteAddr() 返回地址类型,虽然我可以使用 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)
}
}

最佳答案

将其转换为*net.TCPAddr

if addr, ok := conn.RemoteAddr().(*net.TCPAddr); ok {
fmt.Println(addr.IP.String())
}

关于string - 如何将网络客户端的 IP 转换为 Golang 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687102/

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