我正在使用以下golang代码:
l, err := net.Listen("tcp", "127.0.4.1:2040")
if err != nil {
log.Fatal("d0b9184a-5248-413e-a5a8-30fea66997f5:", err)
}
log.Fatal(s.Serve(l))
我收到此错误:
监听tcp 127.0.4.1:2040:绑定:无法分配请求的地址
有人知道为什么那行不通吗?
答案 0 :(得分:0)
您必须向回送接口添加其他IPv4地址:
sudo ifconfig lo0 alias 127.0.4.1
在运行命令之前,您可以使用以下方法验证路由:
netstat -nr
默认情况下(在MacOS Catalina 10.15.4上),存在以下路由:
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
在将所需的地址添加到环回接口(即lo0)后,netstat -nr
将显示:
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
127.0.4.1 127.0.4.1 UH lo0
现在尝试使用您的程序,它应该可以工作。
这也是临时的。重新启动后将不会持续。为此,请为此read!