Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli ogólny host i klient mogą zobaczyć się nawzajem w sieci, ale rzeczywisty host i klient nie może, prawdopodobnie problem dotyczy komunikatów wysyłanych między punktami końcowymi za pośrednictwem sieci. Aby uzyskać więcej informacji na temat ogólnego hosta i klienta, zobacz Korzystanie z Ogólnego Hosta i Klienta dla UDP WS-Discovery. Ponieważ pełne ślady sieci mogą być trudne do zbierania, filtrowania i odczytywania, narzędzie WSD Debug Client może być używane do wyświetlania stron multicast komunikatów WS-Discovery.
Klient debugowania WSD w trybie multicast może sprawdzać tylko połowę komunikatów, ponieważ klient nie może wyświetlać komunikatów unicast. Jeśli ruch unicastowy jest interesujący, przejdź od razu do Inspekcja śladów sieci dla funkcji odnajdywania UDP WS-Discovery.
Ta procedura przedstawia metodę, która będzie wyświetlać cały ruch multicastowy w sieci. Aby wyświetlić tylko ruch multicastowy do i z urządzenia, patrz sekcja Filtrowanie wyników debugowania klienta WSD poniżej.
Aby użyć klienta debugowania usługi WSD do weryfikowania ruchu multiemisji
- Skonfiguruj hosta i klienta do uruchamiania w sieci (czyli upewnij się, że host i klient będą działać na różnych komputerach).
- Otwórz wiersz polecenia i uruchom następujące polecenie: WSDDebug_client.exe /mode multicast
- Odtwórz błąd, uruchamiając hosta i klienta lub naciskając F5 w Eksploratorze sieci.
- Sprawdź, czy komunikaty są przesyłane w trybie multicast.
Jeśli wymagane komunikaty są wyświetlane w danych wyjściowych klienta debugowania WSD, błąd aplikacji może tkwić w zawartości komunikatów multicastowych lub w istnieniu albo zawartości odpowiednich komunikatów odpowiedzi unicastowych. Kontynuuj diagnozowanie problemów, postępując zgodnie z instrukcjami w Sprawdzanie śladów sieci UDP dla WS-Discovery.
Jeśli wymagane komunikaty są wyświetlane w danych wyjściowych klienta debugowania WSD, prawdopodobnie źródło problemu aplikacji zostało zidentyfikowane. Prawdopodobnie ruch multiemisji nie jest przesyłany w ramach sieci. Ten błąd może wystąpić, gdy aplikacja nie wylicza poprawnie adapterów multicastowych. Aplikacje muszą jawnie wysyłać ruch multicast przez wszystkie interfejsy sieciowe; w przeciwnym razie pakiety mogą nie być generowane dla interfejsu pętli zwrotnej lub dla innych interfejsów. Aby sprawdzić, czy pakiety nie pojawiają się w sieci, postępuj zgodnie z instrukcjami w Analizowanie śladów sieci dla odnajdywania UDP WS-Discovery i poszukaj dowodów brakujących komunikatów multicast.
Sprawdzanie, czy komunikaty są multicastowane
Zawsze sprawdzaj, czy komunikaty sondy są rozsyłane do wielu odbiorców. Opcjonalnie sprawdź, czy komunikaty Hello i Rozwiąż są przesyłane jako multiemisja. Pamiętaj, że nie wszystkie aplikacje używają komunikatów Resolve. Aby uzyskać więcej informacji na temat wzorców komunikatów używanych przez klientów i hostów, zobacz odnajdywanie i wzorce komunikatów wymiany metadanych i Wprowadzenie do rozwiązywania problemów z interfejsem WSDAPI.
Komunikaty muszą być wyzwalane, aby można je było wysyłać zgodnie z opisem w kroku 3 powyżej. Klient debugowania usługi WSD wyświetla nieprzetworzone komunikaty PROTOKOŁU SOAP jako dane wyjściowe. Ponieważ wszystkie komunikaty drukowane przez klienta debugowania WSD w trybie multiemisji są odbierane za pośrednictwem gniazda multiemisji, adres docelowy komunikatu nie jest wyświetlany.
Następujące przykładowe dane wyjściowe klienta debugowania usługi WSD zawierają komunikat sondy. Element <wsa:Action> identyfikuje komunikat jako komunikat sondy. Sprawdź pole <wsa:Action>, aby sprawdzić, czy odebrany komunikat był komunikatem sondy.
UDP message at 05/08/07 10:06:55 from soap.udp://[127.0.0.1:49334]
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="h
ttp://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="https://schemas.xmlso
ap.org/ws/2005/04/discovery" xmlns:wsdp="https://schemas.xmlsoap.org/ws/2006/02/d
evprof"><soap:Header><wsa:To>urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:T
o><wsa:Action>https://schemas.xmlsoap.org/ws/2005/04/discovery/Probe</wsa:Action>
<wsa:MessageID>urn:uuid:256ad815-1576-4e59-8efc-4c1e0f15fdd2</wsa:MessageID></so
ap:Header><soap:Body><wsd:Probe><wsd:Types>wsdp:Device</wsd:Types></wsd:Probe></
soap:Body></soap:Envelope>
Następujące przykładowe dane wyjściowe klienta debugowania usługi WSD zawierają komunikat Hello. Element <wsa:Action> identyfikuje komunikat jako komunikat Hello.
UDP message at 05/08/07 10:10:49 from soap.udp://[[::1]:49343]
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="h
ttp://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="https://schemas.xmlso
ap.org/ws/2005/04/discovery" xmlns:wsdp="https://schemas.xmlsoap.org/ws/2006/02/d
evprof"><soap:Header><wsa:To>urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:T
o><wsa:Action>https://schemas.xmlsoap.org/ws/2005/04/discovery/Hello</wsa:Action>
<wsa:MessageID>urn:uuid:8999e29a-b056-4345-9e13-f42dbedab28a</wsa:MessageID><wsd
:AppSequence InstanceId="1" SequenceId="urn:uuid:abb0a2a1-6efc-4242-b8e7-c02484a
6eea2" MessageNumber="1"></wsd:AppSequence></soap:Header><soap:Body><wsd:Hello><
wsa:EndpointReference><wsa:Address>urn:uuid:02a76d74-82d0-43e6-ab09-16f54ab81ac6
</wsa:Address></wsa:EndpointReference><wsd:Types>wsdp:Device</wsd:Types><wsd:Met
adataVersion>1</wsd:MetadataVersion></wsd:Hello></soap:Body></soap:Envelope>
Filtrowanie wyników debugowania klienta WSD
Filtrowanie wyników klienta debugowania WSD może pomóc w zidentyfikowaniu ruchu sieciowego związanego z urządzeniem. Filtrowanie jest konieczne tylko w hałaśliwych sieciach.
Istnieją dwa sposoby filtrowania wyników. Adresy IP do filtrowania można jawnie zidentyfikować podczas uruchamiania klienta debugowania usługi WSD. Alternatywnie adresy IP można określić po uruchomieniu klienta. W tej sekcji opisano obie metody.
Aby określić adresy IP do filtrowania podczas uruchamiania klienta debugowania usługi WSD
- Skonfiguruj hosta i klienta do uruchamiania w sieci (czyli upewnij się, że host i klient będą działać na różnych komputerach).
- Zbierz adresy IP urządzenia. Jeśli urządzenie ma wiele adresów (na przykład ma adresy IPv4 i IPv6), należy zebrać wszystkie adresy.
- Otwórz wiersz polecenia i uruchom następujące polecenie: WSDDebug_client.exe /mode multiemisji /ip dodaj adres IP urządzenia<>
<adres IP urządzenia> jest adresem IP. Na poniższej liście przedstawiono przykładowe formaty dla tego adresu IP.
- 192.168.0.1
- ::1
- mydevice.contoso.com
Klient debugowania usługi WSD automatycznie rozpoznaje nazwy hostów podane w wierszu polecenia.
Aby filtrować wyniki po uruchomieniu klienta debugowania usługi WSD
- Skonfiguruj hosta i klienta do uruchamiania w sieci (czyli upewnij się, że host i klient będą działać na różnych komputerach).
- Zbierz adresy IP urządzenia. Jeśli urządzenie ma wiele adresów (na przykład ma adresy IPv4 i IPv6), należy zebrać wszystkie adresy.
- Otwórz wiersz polecenia i uruchom następujące polecenie: WSDDebug_client.exe /mode multicast
- W wierszu polecenia klienta debugowania WSD uruchom następujące polecenie: ip dodaj adres IP urządzenia<>
- Powtórz krok 4 do momentu dodania wszystkich adresów IP urządzeń.
W poniższej procedurze przyjęto założenie, że uruchomiono klienta debugowania usługi WSD, a filtrowanie według adresu IP odbywa się.
Aby sprawdzić, czy są filtrowane poprawne adresy IP
W wierszu poleceń klienta debugowania WSD uruchom następujące polecenie: ip print
Zostanie wyświetlona lista filtrowanych adresów IP.
W poniższej procedurze przyjęto założenie, że uruchomiono klienta debugowania usługi WSD, a filtrowanie według adresu IP odbywa się.
Aby wyłączyć filtrowanie
W wierszu polecenia klienta debugowania WSD uruchom następujące polecenie: ip clear
Cały ruch multiemisji będzie teraz wyświetlany w danych wyjściowych debugowania.
Tematy pokrewne