Ho una situazione interessante tra le mie mani e non sono abbastanza sicuro su come risolverlo. Ho fatto alcune ricerche per qualcosa di simile alla mia situazione, ma non le combina assolutamente. Se la risposta esiste già da qualche parte qui, sarei grato a chiunque possa indicarmi la giusta direzione.cosa causerebbe l'errore di ICMPsendEcho quando ping.exe ha esito positivo
Ok, al punto.
Sto scrivendo un'applicazione watchdog per monitorare la connettività Internet. È progettato per eseguire il ping di un set di domini a intervalli regolari e quando uno di essi risponde al ping, il timer di stato viene ripristinato. Se il timer di stato supera sempre una soglia impostata, vengono tentate diverse fasi di correzione per risolvere il problema.
Abbastanza semplice, vero?
Ecco dove diventa strano.
Sto utilizzando ICMPsendecho per inviare la richiesta ping. Sul mio ambiente di sviluppo (win7) sembra funzionare bene, test e tutto è andato liscio. Tuttavia, nell'ambiente in cui viene distribuito non riesce a ricevere una risposta. L'ambiente di distribuzione è una macchina Windows XP SP3.
Durante la procedura di risoluzione dei problemi, ho notato diverse cose, che potrebbero essere utili o meno nel tentativo di risolvere questo problema.
windows ping.exe funziona correttamente sull'ambiente di distribuzione per tutti i domini che sto utilizzando per testare lo stato della connettività, è solo le mie chiamate ICMPsendecho che sembrano non riuscire a generare risposte.
Ho installato wireshark sull'ambiente di distribuzione e sono in grado di visualizzare i pacchetti che vengono emessi correttamente per le richieste su entrambi i tipi di ping. il ping di windows genera pacchetti di richiesta con una lunghezza di 74 byte, e la mia chiamata di programmi genera pacchetti con una lunghezza di 42 byte. I pacchetti di risposta di Windows sono allo stesso modo 74 byte quando vengono ricevuti.
Passaggio all'ambiente di sviluppo per un minuto, con wireshark installato. Il ping di Windows genera una circostanza simile come nell'ambiente di distribuzione con i pacchetti. Tuttavia, la mia applicazione, quando genera richieste, i pacchetti hanno una lunghezza di 42 byte (uguale all'ambiente di distribuzione), ma le risposte che riceve sono di 60 byte di lunghezza.
Come ho detto, questa informazione può o non può essere utile, ma sto cercando di scoprire perché questa applicazione non riesce a generare risposte ICMP quando Windows Ping sembra funzionare correttamente su quella macchina.
Un altro piccolo bocconcino che può aiutare, la connessione a internet stavano monitorando usi AT & hotspot 4g Elevate T, il dispositivo reale è una carta di Sierra Wireless MC8790 AirPrime.
Qualcuno ha qualche idea sul perché questi ping falliscono?
grazie in anticipo per eventuali informazioni utili che potresti avere e per aver dedicato del tempo a leggere il mio post.
PS.
ha fatto un errore a ICMPSendEcho? – OnTheFly
Nessun errore, non riesce a ricevere mai una risposta. – PoultrySlave
Quale versione di Windows? –