是否可以在不支持多播的环境中使用SLP(服务位置协议),而只是广播? 从我读过的应该是可能的,但我不能得到它的工作。
比方说,我有一个非常简单的小networking,只有几台连接到非托pipe交换机的计算机。 所以没有可以处理组播组表的路由器。
在使用OpenSLP时,服务器端(实现SLP SA(服务代理)的Windows服务器)有一个强制它使用广播而不是多播的选项。 到现在为止还挺好。 但是我怎么能告诉OpenSLP在UA(用户代理)端使用广播(比如在调用SLPFindSrvs的时候)呢?
我想要做的只是在一台计算机上的一个小testing(其中,slpd作为Windows服务运行),我使用一个服务
slptool register service:myserv.x://myhost.com
而在另一台电脑上,我想find使用该服务
slptool findsrvs service:myserv.x
但没有find服务…
感谢来自OpenSLP新闻组的Roel,我find了解决scheme。 这不是一个networking问题,而是一个滥用slptool的问题。 Roel写道:
使用默认设置,注册将在注册过程消失几秒后自动删除。 这是为了防止在没有正确注销的stream程中保留“悬挂”注册。
如果您使用“slptool注册”,注册过程是“slptool”,立即退出。 因此注册会在几秒钟后自动删除。
尝试使用'net.slp.watchRegistrationPID = false'的configuration文件。
不幸的是,这个设置没有文档记载,并没有提示slptool的使用注意slptool …
所以回答我的问题:是的,可以在没有组播路由器的networking中运行SLP(OpenSLP)。