我正在使用 iris 平台用 go 语言进行编程(我是初学者)。我想让我家里的所有计算机都可以访问本地计算机之一的 go 服务器。当我使用我的网络 IP (192.168.0.0) 或任何指定的 IP (192.168.0.15) 设置监听器时,它会返回 panic 错误。仅可用 0.0.0.0 或 127.0.0.1/localhost 或 192.168.0.19 - 与 localhost 相同
import "net"
...
ln, err := net.Listen("tcp4", "192.168.12:9999")
if err != nil{
panic(err)
}
iris.Serve(ln)
...
错误是:panic: listen tcp4 192.168.0.12:9999: bind: The requested address is not valid in its context.
感谢大家的帮助。
最佳答案
您应该阅读有关网络如何工作的内容,但这里有一些帮助您入门的要点。
您监听的是端口,而不是 IP 地址。因此,无论您使用什么机器作为服务器,都可以找到您的本地 IP 地址:
在 Linux 或 Mac 上,您可以通过多种方式完成此操作:
ifconfig | grep netmask
并获取您的本地地址,例如。 192.168.x.xx
然后用你的 Go 程序启动你的服务器并监听一个本地主机端口,比如 8080。
例如。
if err := http.ListenAndServe(":8080", nil); err != nil {
//handle error
}
然后你可以用你家里的其他机器访问服务器,假设它们在同一个 Wifi 上。使用另一台计算机并从浏览器访问 192.168.x.xx:8080
。
要回答您在评论中的问题,外人无法访问您的本地服务器,除非他们连接到您的 Wifi。
关于go - 如何设置仅适用于我的 LAN 网络的 golang 服务器监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40697131/