Newsgroup: it.comp.lang.visual-basic
Titolo: Meledetto Inet

Visto dai precedenti post che siamo entrati nel discorso, volevo farvi 
una domanda sul controllo Inet: ho realizzato un programma che scarica 
ed invia file mediante Inet utilizzando il protocollo ftp. Il mio 
problema è che da computer che si connettono via modem funziona, ma da 
computer connessi a delle LAN non funziona. Considerando che le LAN non 
hanno server proxy, e che l'indirizzo al controllo Inet lo passo 
"compatto", tipo 
ftp://username:pass...@sitoftp.it
, qual è il problema?
PS Sull'MSDN non ho trovato nulla che mi spiegasse meglio l'utilizzo del 
  controllo Inet.

 hanno server proxy
Varie possibilità...
Magari c'è un firewall ? O anche un router che blocca l'accesso
a determinati IP, o servizi. E' anche possibile che il server accetti
connessioni FTP solo da macchine appartenenti alla stessa sottorete.
O ancora la LAN è NATata e connessa via ADSL ?
O un'altra dozzina di cose.
Fai una prova: da Internet Explorer, metti la stessa stringa
di connessione, e vedi se funziona. Se va, il problema è nel
programma, altrimenti nella rete.
Alla peggio, otterrai un messaggio di errore comprensibile. :-)
Bye, G.
--
Le risposte alle tue domande sono sul Sito Comune
di questo NewsGroup: 
http://it-lang-vb.net/
... e nell'help in linea !

 ha scritto nel messaggio
news:3D7B5D72...@tiscalinet.it...


Ci avevo pensato, adesso che me lo dici anche te, proverò.
Ho provato anche il suggerimento di Paperino; ho inserito l'indirizzo 
completo di user e password nell'internet explorer del computer sul 
quale l'Inet non funziona (quelli sotto la LAN), e mi è venuto un errore 
sul comando A (200) e sul POST (400).
Alcuni mi hanno detto che forse è un problema di rimappaggio dei 
pacchetti: essendo il computer in una sottorete (connessa con HDSL) il 
pacchetto che richede il servizio ftp viene inviato, ma al ritorno manca 
l'ip della macchina nella sottorete, quindi si blocca sul server della 
rete. E' possibile una cosa del genere? E se fosse mai possibile, come 
faccio a gestire una cosa tanto complessa?


 faccio a gestire una cosa tanto complessa?
Devi usare il "passive mode" dell'FTP, ma 1) deve essere supportato
dal server (e ormai lo fanno quasi tutti), 2) non so come si faccia
in VB, anche se ricordo di averlo visto. Il comando è PASV, ma non
ricordo se il controllo Inet lo accetta, e mi pare di no :-(.
In questo caso ti toccherà usare direttamente le API di Winsock.
Prima di perdere tempo, però, prova a fare la stessa cosa con IE:
nella stessa finestra di opzioni di cui sopra, c'è l'opzione per
attivare il Passive mode (la voce dice "Per la compatibilità con i
firewall e con i modem DSL, utilizzare un FTP passivo"), se funziona
con IE può funzionare anche con VB. Se abbiamo individuato il
problema, bisogna passare all'attacco :-).
A quel punto vale la pena di guglare un po' o cercare su MSDN,
per "FTP" "passive mode" "PASV" e "VB".
Anzi, aspe', se ne parlò qui:
http://groups.google.com/groups?selm=a4f0l1%246j2g%241%40stargate1.inet.it
E qui c'è la ricerca su MSDN:
http://makeashorterlink.com/?N2C461EB1
Bye, G.

 problema, bisogna passare all'attacco :-).
Penso di aver fatto come dici te, ti ripeto gli errori: errore sul 
comendao TYPE A e sul POST. Da questi errori sono giunto alla 
conclusione che il computer della sottorete non riesce a fornire al 
server-ftp un indirizzo valido per aprire una connessione per il 
trasporto dei dati, la soluzione, come hai già detto, è impostare la 
connessione sul modo PASV.
Ti ringrazio per tutti i consigli, in special modo per quello di provare 
con il browser iexplorer.

 con il browser iexplorer.
...sì, ma non hai detto ancora, con IE in passive mode funziona ?
Altrimenti il problema potrebbe essere un altro.
Bye, G.

I PC in questione hanno tutti una versione vecchia di IE oppure l'hanno 
nuova ma non hanno le opzioni che mi dicevi. Proverò ad installare IE6, 
però ci vorrà del tempo. Quando avrò fatto la prova ti farò sapere.
Grazie della tua generosa disponibilità.
