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

时间:2016-11-19 19:39:03

标签: go server host lan

我正在使用iris平台用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)

...

错误是:恐慌:监听tcp4 192.168.0.12:9999:bind:请求的地址在其上下文中无效。

感谢所有人的帮助。

1 个答案:

答案 0 :(得分:3)

您应该了解网络的工作原理,但这里有一些要点让您入门。

您在端口上侦听,而不是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连接,否则外人无法访问您的本地服务器。