使用邏輯和實體位址

WS-Discovery 會根據 urn:uuid: 格式,使用 URI 定義邏輯定址。 此定址配置的目的是要區分裝置的身分識別與其目前的 IP 位址。 此配置基本上提供 DNS 名稱的功能,而不需要名稱伺服器。 適用于 Web 服務的裝置設定檔 (DPWS) 建議裝置使用此定址配置。

DPWS 也建議服務使用實體 (也稱為傳輸) 位址。 這可讓原生不支援WS-Discovery定址機制的用戶端與 DPWS 服務通訊。 此外,每個服務都可以定義其位址,以針對在較低層管理服務分派的裝置實作啟用傳輸層級定址。 最後,使用實體位址可最大化互通性。

實體定址的缺點是它會在裝置實作中增加複雜性,因為必須追蹤目前的 IP 或傳輸位址,而且必須據以修改裝置中繼資料。 基於這個理由,DPWS 不需要服務才能使用傳輸位址。

如果使用邏輯位址,則有一些未定義實作行為的情況。 WS-Discovery規格不會描述服務位於邏輯位址的意義。 WS-Discovery規格的 R1001 建議不要在託管服務上使用WS-Discovery,因為相關聯的網路聊天器。

不建議服務位於邏輯位址,因為這可減少互通性。 如果實作絕對必須位於邏輯位址,則服務應該使用與裝置相同的邏輯位址。 如果這會在裝置上的分派模型增加太多複雜度,則建議的解決方案是使用參考參數來區分服務。 如果訊息與裝置使用相同的端點位址,WSDAPI 就會正確地將訊息傳送至服務。