如何设置仅适用于我的LAN网络的golang服务器侦听器

如何设置仅适用于我的LAN网络的golang服务器侦听器,go,server,host,lan,Go,Server,Host,Lan,我正在使用iris平台用go语言编程(我是一个非常初学者)。我想让家里的所有电脑都可以访问to 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")

我正在使用iris平台用go语言编程(我是一个非常初学者)。我想让家里的所有电脑都可以访问to 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)

...
错误是:panic:listen tcp4 192.168.0.12:9999:bind:请求的地址在其上下文中无效。


感谢大家的帮助。

你应该仔细阅读网络是如何工作的,但这里有一些要点可以帮助你开始

你监听的是一个端口,而不是IP地址。因此,无论您使用哪台计算机作为服务器,请查找您的本地IP地址:

在Linux或Mac上,您可以通过多种方式实现:

ifconfig | grep netmask
并获取您的本地地址,例如
192.168.x.xx

然后用Go程序启动服务器,并在本地主机端口(如8080)上侦听

例如

然后,您可以使用家中的其他机器访问服务器,前提是它们位于同一Wifi上。使用其他计算机,通过浏览器访问
192.168.x.xx:8080


为了回答您在评论中提出的问题,外部人员无法访问您的本地服务器,除非他们已连接到您的Wifi。

我确信,在开始编写服务器之前,您应该先了解一下网络的工作原理。您不能将侦听器绑定到未分配给服务器的IP。是的,我不太擅长联网。但我也不是在写服务器,我的意思是我在写,但这不是一个目标。我需要建立一个应用程序在围棋语言,将服务的要求。要设置侦听器,只需将iris.Listen(:9898)行放在main方法的末尾。它将在全球范围内托管服务(0.0.0.0:9898)。我只是想知道有没有办法限制外部访问?或者可能没有从我的局域网外部访问?因为我同意@RomanR。第二,如果您正在使用WiFi,并且您在本地主机上运行go服务器(如您的假设),您可以从连接到同一WiFi的任何设备访问web服务器,方法是从该机器访问本地主机。感谢各位朋友的帮助和解释。我们将学习网络。
if err := http.ListenAndServe(":8080", nil); err != nil {
    //handle error
}