![当 DNS 发生变化时,长连接应该如何表现?](https://linux22.com/image/678838/%E5%BD%93%20DNS%20%E5%8F%91%E7%94%9F%E5%8F%98%E5%8C%96%E6%97%B6%EF%BC%8C%E9%95%BF%E8%BF%9E%E6%8E%A5%E5%BA%94%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A1%A8%E7%8E%B0%EF%BC%9F.png)
设想:
Connector.com
连接到server.net
,解析为20.30.40.50
Connector.com
并20.30.40.50
保持连接打开- DNS 已更新,
server.net
现在解析为7.8.9.10
是否应该Connector.com
认识到server.net
现在解析为不同的内容并打开新的连接?应如何处理?
答案1
Connector.com 是否应该认识到 server.net 现在解析为不同的内容并打开一个新的连接?
通常不会。DNS 仅用于查找特定名称的地址,但关联(TCP 连接)是在两个 IP 地址之间,而不是两个主机名之间。
您的应用程序可能仍需要不同的行为。但这将是应用程序逻辑,并且将根据特定应用程序的要求而有所不同。
答案2
问:Connector.com 是否应该认识到 server.net 现在解析为不同的内容并打开新的连接?
答:不是。
如果您希望 Connector.com 建立新连接,则必须终止现有连接、刷新其 DNS 缓存、刷新其上游 DNS 服务器的 DNS 缓存并建立新连接。