檢查配接器和防火牆設定

設定錯誤的防火牆可能會導致 WSD 應用程式失敗。 本主題提供一些疑難排解程式,當 WSD 用戶端和主機無法在網路上彼此看見時使用。 使用任何其他應用程式疑難排解程式之前,應該先檢查防火牆設定。

檢查配接器和防火牆設定

  1. 確認已啟用 網路探索 例外狀況。

  2. 檢查沒有應用程式特定的防火牆規則封鎖應用程式。

  3. 明確啟用用於探索和中繼資料交換的埠。

  4. 停用防火牆並重新測試應用程式。

    注意

    完成此步驟之後,應該重新啟用防火牆。

     

確認已啟用網路探索例外狀況

如果有任何WS-Discovery應用程式正在執行,則必須允許 網路探索 防火牆例外狀況。

啟用網路探索防火牆例外狀況

  1. 按一下 [開始],按一下 [ 執行],然後輸入 firewall.cpl。 這個動作會開啟 [Windows 防火牆控制台] Applet。
  2. 選擇 [允許程式通過 Windows 防火牆]。
  3. 在 [ 例外狀況] 索引 標籤上,選取 [ 網路探索 ] 核取方塊。
  4. 按一下 [確定] 以關閉防火牆 Applet。

進行此防火牆變更之後,請重新測試程式。 如果程式現在可順利運作,表示已識別問題的原因,而且不需要進一步的疑難排解步驟。 否則,請繼續進行下一個步驟。

檢查應用程式特定的防火牆規則

Windows 防火牆的進階設定可以在名為具有 進階安全性的 Windows 防火牆 (MMC) 嵌入式管理單元中進行。 此嵌入式管理單元可用來針對可疑的防火牆問題進行疑難排解。

開發人員可以使用 Windows 防火牆搭配進階安全性 API 來建立套用至其 WSD 應用程式的防火牆規則。 具體而言,INetFwRules介面的Add方法可用來新增防火牆規則。 如果防火牆規則建立不正確,用戶端和主機可能無法在網路上看到彼此。

檢查應用程式特定的防火牆規則

  1. 按一下 [開始],按一下 [ 執行],然後輸入 wf.msc
  2. 尋找可能會封鎖流量的應用程式特定規則。 如需詳細資訊,請參閱 具有進階安全性的 Windows 防火牆 - 診斷和疑難排解工具
  3. 移除應用程式特定的規則。

如果找不到任何應用程式特定規則,請繼續進行下一個步驟。 如果找到並移除應用程式特定規則,請在進行防火牆變更之後重新測試程式。 如果程式現在可順利運作,表示已識別問題的原因,而且不需要進一步的疑難排解步驟。 否則,請繼續進行下一個步驟。

啟用用於探索和中繼資料交換的埠

WS-Discovery使用 UDP 埠 3702 進行訊息交換。 此外,TCP 埠 5357 和 5358 有時會用於中繼資料交換。 您可以使用「在 Windows 防火牆中開啟埠」中所述的程式,在防火牆上明確開啟這些埠。

進行此防火牆變更之後,請重新測試程式。 如果程式現在可順利運作,表示已識別問題的原因,而且不需要進一步的疑難排解步驟。 否則,請繼續進行下一個步驟。

停用防火牆

您可以停用 Windows 防火牆,以協助疑難排解可疑的問題。 您也可以停用其他適用的防火牆 (,例如路由器上的防火牆) ,以進行疑難排解。 如需啟用和停用 Windows 防火牆的相關資訊,請參閱 開啟或關閉 Windows 防火牆

停用任何適用的防火牆之後,重新測試應用程式。 如果程式現在可順利運作,防火牆就會封鎖流量。 封鎖的流量有一些可能的原因。

  • 應用程式特定的例外狀況封鎖了流量。 檢查應用程式特定的防火牆規則,如上所述。
  • 裝置回應 UDP 要求所花費的時間太長。 Windows 防火牆可能會封鎖在傳送初始要求之後傳回超過 4 秒的 UDP 回應。 請遵循 使用一般主機和用戶端進行 UDP WS-Discovery 中提供的程式繼續疑難排解,以查看問題是否以少於 4 秒回應的主機重現。

如果應用程式在停用防火牆之後仍然失敗,則防火牆不會造成應用程式失敗。 遵循 使用一般主機和用戶端進行 UDP WS-Discovery中提供的程式,重新啟用防火牆並繼續疑難排解。

疑難排解完成後,應一律重新啟用防火牆。

WSDAPI 診斷程式

使用 WSDAPI 疑難排解消費者入門