And*_*vic 2 lan host go server
我正在使用 iris 平台用 go 语言进行编程(我是初学者)。我想让我家里的所有电脑都可以访问 go 服务器,它也是本地机器之一。当我使用我的网络 IP (192.168.0.0) 或任何指定的 IP (192.168.0.15) 设置侦听器时,它会返回恐慌错误。仅可用 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)
...
Run Code Online (Sandbox Code Playgroud)
错误是:panic: listen tcp4 192.168.0.12:9999: bind: 请求的地址在其上下文中无效。
感谢大家的帮助。
您应该阅读有关网络如何工作的内容,但这里有一些要点可以帮助您入门。
您侦听端口,而不是 IP 地址。所以无论你使用什么机器作为你的服务器,找到你的本地 IP 地址:
在 Linux 或 Mac 上,您可以通过多种方式执行此操作:
ifconfig | grep netmask 并获取您的本地地址,例如。 192.168.x.xx
然后用你的 Go 程序启动你的服务器并监听 localhost 端口,比如 8080。
例如。
if err := http.ListenAndServe(":8080", nil); err != nil {
//handle error
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用家中的其他机器访问服务器,假设它们在同一个 Wifi 上。使用不同的计算机并192.168.x.xx:8080从浏览器访问。
为了在您的评论中回答您的问题,外部人员无法访问您的本地服务器,除非他们连接到您的 Wifi。