【发布时间】:2020-01-23 17:38:54
【问题描述】:
我们有一个基于 C++ 双向 grpc 客户端/服务器的项目。客户端只与服务器建立一个连接。服务器将有多个客户端。 通过“netstat”命令,服务器端显示来自同一个客户端的多个已建立连接,但客户端此时只有一个与该服务器的活动连接。
以下是一个例子:
在服务器端:
netstat -an|grep "port"|grep "clientip"
tcp6 0 0 serverip:port clientip:61501 ESTABLISHED
tcp6 0 0 serverip:port clientip:60241 ESTABLISHED
tcp6 0 0 serverip:port clientip:54173 ESTABLISHED
tcp6 0 0 serverip:port clientip:48677 ESTABLISHED
tcp6 0 0 serverip:port clientip:53149 ESTABLISHED
在客户端时:
netstat -an|grep "serverip"
tcp6 0 0 clientip:53149 serverip:port ESTABLISHED
这似乎是服务器端无法删除过时的连接。 这样做的后果是服务器可能超过最大连接限制,这将导致其他问题。
有人看到同样的症状吗?在grpc连接管理方面有什么建议吗?
【问题讨论】:
标签: grpc