我试图确定心跳如何协商,如果有的话。毕竟,它被称为"要求"心跳。例如,如果服务器心跳设置为 lower 而不是客户端心跳,则客户端库应使用 minimum ,对吧?否则,服务器将关闭所有连接。
connection documentation并没有真正说清楚,我searching the code找不到多少(ConnectionConfiguration.RequestedHeartbeat
没有确凿的用法)。
服务器documentation说
此值在连接时在客户端和RabbitMQ服务器之间协商。必须将客户端配置为请求心跳...(尽管客户端仍然可以否决它们)。
"官方" .NET client library使用客户端或服务器心跳的最小值。
Math.Min(clientValue, serverValue);