我正在尝试设计一种 P2P 协议,以便住宅网络中的多个用户应用程序可以相互发现。我研究过各种服务发现协议,最著名的是 DNS-SD 和 mDNS。对于一个客户端发现多个设备,以及一个设备提供已配置的多个不同服务,它似乎工作得很好。
但是,据我所知,每个主机最多只有一个客户端(发送查询并缓存结果),每个主机最多只有一个响应器(回答查询)。因此,如果我在同一台计算机上运行多个应用程序,它们将需要共享客户端/响应器 - 这似乎很麻烦,尤其是在 Windows 上,因为它本身不提供此类服务。这种解释正确吗?
或者每个应用程序是否可能运行自己的客户端和解析器,独立于其他应用程序,且不会发生冲突?
如果答案是否定的,那么还有哪些其他选择?