Domanda

Ho sviluppato un programma in un dispositivo mobile (Pocket PC 2003) per accedere a un servizio web, il servizio web è installato su un PC Windows XP SP2 con IIS, il PC ha l'IP 192.168.5.2.

Il dispositivo ottiene dalla rete wireless l'IP 192.168.5.118 e il programma funziona bene, richiama il metodo dal servizio web ed esegue l'azione richiesta.Questo programma verrà utilizzato in vari edifici.

Ora ho questo problema, risulta che quando provo a testarlo in un altro edificio (distanze normalmente circa 100 mt.o 200 mt.) connesso alla rete, il programma non riesce a connettersi al webservice, in questo momento il dispositivo riceve da un Access Point l'IP 192.168.10.25, e accede alla stessa macchina XP di cui ho parlato prima (192.168.5.2).Ho creato una pagina aspx mobile per verificare che posso raggiungere il server web tramite la rete e caricarlo nel dispositivo, ho anche creato un winform che accede allo stesso servizio web in un PC da quell'edificio e funziona anche lì, quindi non lo faccio Non capisco cosa sta succedendo.Ho anche provato a eseguire il ping del PC 192.168.5.2 e risponde vivo.

Dopo questo errore sono tornato al punto originale in cui avevo testato il programma in precedenza e funziona normalmente.

L'unica cosa che qui mi sembra diversa è che il terzo numero nell'IP è 10 invece di 5, un'altra osservazione è che non riesco a eseguire il ping sul dispositivo mobile.Mi sento confuso, non so cosa succede qui?Quale potrebbe essere il problema?

Questo è il modo in cui chiamo il servizio web;

//Connect to webservice
svc = new TheWebService(); 
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;

//Send information to webservice
svc.ExecuteMethod(info);

il contenuto di app.config nel dispositivo mobile è;

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="UserName" value="administrator" />
    <add key="Password" value="************" />
    <add key="UserAgent" value="My User Agent" />
    <add key="Url" value="http://192.168.5.2/WebServices/TWUD.asmx" />
  </appSettings>
</configuration>

Qualcuno ha un'idea di cosa sta succedendo?

È stato utile?

Soluzione

Sembra un problema di rete, a meno che non ci sia uno strano bug in .Net CF che non ti consente di attraversare le sottoreti in determinate situazioni (non riesco a trovare prove di una cosa del genere cercando su Google).

Puoi ricevere supporto dal team di rete/IT?Inoltre, hai provato da una sottorete diversa?Cioè.non è lo stesso della macchina XP (192.168.5.x) e non è lo stesso di quello che non ha funzionato finora (192.168.10.).

@Shaun Austin: questo non spiegherebbe perché possono accedere a una normale pagina Web sulla macchina XP da una sottorete diversa.

Altri suggerimenti

Si è trattato di un problema di rete, abbiamo configurato un server proxy e questo era il problema, ho bisogno di saperne di più sulla rete.

Non sono un esperto di queste cose, ma sembra che le prime 3 parti dell'indirizzo siano state mascherate.È possibile che al dispositivo mobile venga assegnata una maschera di rete di:

255.255.255.0

Per andare oltre la portata delle prime 3 parti è necessario che la maschera sia:

255.255.0.0

Questa potrebbe essere una semplificazione eccessiva o completamente sbagliata, ma questa è stata la mia risposta istintiva alla domanda.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top