栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

安卓Termux运行Go语言网络程序出现lookup xxx on [::1]:37606->[::1]:53: read: connection refused 的解决方案

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安卓Termux运行Go语言网络程序出现lookup xxx on [::1]:37606->[::1]:53: read: connection refused 的解决方案

目录
  • 问题场景:
  • 原因分析:
  • 解决方案:

其实StackOverFlow上面已经有解决方案了,可以去看

https://stackoverflow.com/questions/38959067/dns-lookup-issue-when-running-my-go-app-in-termux

本文只是进行一个总结

问题场景:

一个Go语言程序,按照 GOOS=linux GOARCH=arm64 进行编译,程序里面用到了Go的http包进行网络传输。目标是在安卓Termux终端上成功运行

系统信息:Redmi Note 8 Pro,Android 11 Pixel Experience 手机已ROOT

原因分析:

就像StackOverflow上面说的那样

Since the Linux in Android is not so “standard”. /etc/resolv.conf is not available. The app then just keep looking up host in localhost:53.

安卓上面的Linux不是很标准,不使用Linux通用的/etc/resolv.conf进行DNS解析,这导致一般的Linux程序因找不到这个文件而无法进行DNS解析,进而无法进行网络通信。

解决方案:

很简单,只需要在手机根目录的 /etc/ 文件夹下新建一个名为 resolv.conf 的文件,内容如下,一行即可

nameserver 8.8.8.8

注意:访问手机根目录需要ROOT权限,本人的手机已经ROOT了所以就直接新建即可。如果没有ROOT,建议参考下面这个Github上面的讨论尝试一下,但由于未经本人尝试,成功与否不做保证。

https://github.com/termux/termux-app/issues/869#issuecomment-433985523

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/906566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号