使用邏輯和實體位址
WS-Discovery 會根據 urn:uuid:
格式,使用 URI 定義邏輯尋址。 此尋址配置的目的是區分裝置的身分識別與其目前的IP位址。 此配置基本上提供 DNS 名稱的功能,而不需要名稱伺服器。
Web 服務設備設定檔 (DPWS)建議設備使用此地址規劃。
DPWS 也建議服務使用實體(也稱為傳輸)位址。 這可讓原本不支援 WS-Discovery 尋址機制的用戶端與 DPWS 服務通訊。 此外,每個服務都可以定義其位址,以針對管理較低層服務分派的裝置實作啟用傳輸層級尋址。 最後,使用實體位址可最大化互作性。
實體尋址的缺點是,它會增加裝置實作的複雜性,因為必須追蹤目前的IP或傳輸位址,而且必須據以修改裝置元數據。 因此,DPWS 無需服務使用傳輸位址。
如果使用邏輯位址,則會有一些未定義實作行為的情況。 WS-Discovery 規格不會描述服務位於邏輯位址的意義。 WS-Discovery 規格的 R1001 建議不要在託管服務上使用 WS-Discovery,因為相關的網路噪音問題。
不建議服務位於邏輯位址,因為這可降低互作性。 如果實作絕對必須位於邏輯位址,則服務應該使用與裝置相同的邏輯位址。 如果這會在裝置上的分派模型增加太多複雜度,則建議的解決方案是使用參考參數來區分服務。 如果 WSDAPI 使用與裝置相同的端點位址,則會正確地將訊息傳送至服務。