登录
首页 >  Golang >  Go问答

收到关于“已断开的网络连接”的错误

来源:stackoverflow

时间:2024-02-23 15:24:26 262浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《收到关于“已断开的网络连接”的错误》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我的应用程序堆栈由用于后端编程的 Golang 和用于数据库的 MongoDB Atlas Free Tier 组成。我试图从 Stripe CLI 触发事件,我的 GoLang 程序根据某些验证更新 MongoDB Atlas 中的一堆表。这似乎在大多数情况下都工作得很好。但在这个过程中的某些时候,我在将数据更新到 Mongo Collections 时遇到以下错误。

连接(xxxxx-shard-00-02.ka3rc.mongodb.net:xxx[-15]) 消息头读取不完整:读取 tcp xxx.xxx.x.xx:xxxxx->xx.xx.xxx.xxx:xxxxx:使用封闭网络连接

我正在尝试使用当控制进入我的 Go 程序时打开的相同 mongo 客户端来执行应用程序中的所有查询。

有谁知道我们会遇到此错误的原因吗?这是否是由于 Mongo Atlas 限制免费套餐每分钟的请求数量?这个问题发生得非常随机,我无法确定发生这种情况时的任何模式。


正确答案


从 go 驱动程序客户端选项页面:

https://pkg.go.dev/go.mongodb.org/[email protected]/mongo/options#ClientOptions

大多数定时器默认为 0: ( ConnectTimeout 、 MaxConnIdleTime 、 SocketTimeout )

这意味着在某些情况下服务器可以关闭连接,但应用程序驱动程序仍然不知道,因此建议在连接初始化阶段显式设置客户端的超时。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>