客户发现服务的一些策略是什么?
例如,我们有一个客户端想要连接到服务(假设它们位于同一网络上的同一子网上),有什么好方法可以发现服务正在运行,然后客户端可以尝试连接到该服务?
我们是否希望客户端经常广播并等待服务响应?还是我们会经常广播该服务并让客户收听?
我认为我们希望该服务自行广播并让客户收听。
这是什么标准做法?
例如,该服务将类似于音乐播放器,当客户端通过wifi/网络对其进行远程控制时,它将播放音乐。想想用于iPhone的iTunes Remote,它可以在PC/MAC上控制iTunes播放器。
最佳答案
您的问题分为两部分:
判断服务是否正在运行的正常方法是尝试连接到该服务。
那么如何定位呢?通常,您希望避免广播。典型的方法是:
如果您进行广播,则客户端发送查询是正常的。每次新客户端加入网络时,这都会为您提供一次广播,而如果服务器正在广告其位置,则与连续广播(以及客户端的延迟)不同。
关于.net - Windows中的IP发现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9540691/