登录
首页 >  Golang >  Go问答

gRPC 套接字被 go-side 服务器关闭

来源:stackoverflow

时间:2024-04-06 23:54:32 345浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《gRPC 套接字被 go-side 服务器关闭》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

我正在尝试使用 gRPC 连接我的 Erlang 代码和 Go 代码,在此期间我发现如果我同时连接到 gRPC 太多次,我的套接字将被 Go 服务器关闭,进一步停止我的 Erlang 客户端( gen_server)。没有给我任何错误信息,只是 Erlang 中的一个简单代码,显示 http2_client 套接字被对等方关闭 #Port

我确定没有达到gRPC允许的并发流限制(因为我的调试日志没有显示我们到达了那个地方),仔细查看后我发现问题发生在google.golang.org\ grpc\server.goserveStreams(第830行),我的日志显示所有流都成功到达var wgsync.WaitGroup,但无法完成剩余部分以返回defer st.Close()

有人可以帮助我解决这个奇怪的错误,或者至少给我一些我应该研究的方向吗?


解决方案


我现在已经解决了这个问题,所以来回答一下。

原来我使用了不同的日志系统进行调试,因此默认的 Golang 错误消息没有被收集并呈现给我...Golang 一直对我尖叫和大喊大叫,但我坐在另一个房间里却无法听到了。

对于套接字问题,这是因为整个连接被关闭,因为我的第3方库http2_client.erl缺乏长连接支持。手动为每个连接添加心跳后,所有问题都解决了,gRPC 工作正常。

理论要掌握,实操不能落!以上关于《gRPC 套接字被 go-side 服务器关闭》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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