用 SLP 提供服务

SUSE Linux Enterprise 中的许多应用程序都已使用 libslp 库集成了 SLP 支持。 如果服务未集成 SLP 支持,请使用以下方法之一使其可通过 SLP 声明。

通过 /etc/slp.reg.d 进行的静态注册

为每个新服务创建单独的注册文件。 下面显示了注册扫描仪服务的文件的示例:

## Register a saned service on this system
## en means english language
## 65535 disables the timeout, so the service registration does
## not need refreshes
service:scanner.sane://$HOSTNAME:6566,en,65535
watch-port-tcp=6566
description=SANE scanner daemon

此文件中最重要的一行是以 service: 开头的服务 URL。 其中包含服务类型 (scanner.sane) 以及该服务在服务器上的地址。 $HOSTNAME 自动用完整主机名替换。 随后是可以找到相关服务的 TCP 端口的名称,端口与主机名之间用冒号分隔。 然后输入服务的显示语言及以秒计的注册持续时间。 应该用逗号分隔服务 URL 之后的各项内容。 将注册持续时间设置为 065535 之间的值。 0 表示禁止注册。 65535 表示取消所有限制。

注册文件中还包含两个变量,watch-tcp-portdescriptionwatch-tcp-port 链接 SLP 服务,声明相关服务是否是通过使 slpd 检查服务的状态来激活的。 第二个变量为显示在适合的浏览器中的服务提供了更为准确的描述。

[Tip]YaST 和 SLP

在模块对话框中激活 SLP 后,由 YaST 代理的某些服务(如安装服务器或 YOU 服务器)会为您自动执行此注册。然后,YaST 为这些服务创建注册文件。

通过 /etc/slp.reg 进行的静态注册

/etc/slp.reg.d 过程的唯一差别即在于:这种注册方式要将所有服务都集中到一个核心文件中。

使用 slptool 进行的动态注册

如果应该从专有脚本为某项服务注册 SLP 支持,请使用 slptool 命令行前端。