与服务器建立连接时,我正在尝试获取客户端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)
}
}
似乎只是
strRemoteAddr = conn.RemoteAddr().String()
可以做到,net.Addr类型具有用于字符串表示的方法String()。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句