gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:58:25 28 4
gpt4 key购买 nike

我正在使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com