Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
MA COME E' POSSIBILE?
mercoledì 17 agosto 2005 - 11.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
alessio_fi
Profilo
| Newbie
33
messaggi | Data Invio:
mer 17 ago 2005 - 11:45
Salve ragazzi, sto impazzando con i socket.
Ma come è possibile che il seguente codice in C# funziona e si connette:
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);
IPEndPoint ep = new IPEndPoint(Dns.Resolve(ipAddress).AddressList[0], port);
s.Connect(ep);
mentre il codice vb:
Dim s As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim ep As IPEndPoint = New IPEndPoint(Dns.Resolve(ipAddress).AddressList(0), port)
s.Connect(ep)
NON VA? eppure i parametri sono gli stessi!
Mi sapete dare una dritta???
Grazie mille
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mer 17 ago 2005 - 13:41
che errore ti da ????
C'è solo un capitano !!!!!!
alessio_fi
Profilo
| Newbie
33
messaggi | Data Invio:
mer 17 ago 2005 - 17:01
Allora, ho risolto la prima parte, adesso le due versioni sono allineate (era un problema mio di codice errato).
Ma adesso c'è un forte problema.
Questo sito ftp non risponde con i socket del Net mentre se uso un ocx (e a me questa cosa non piace) funziona alla grande.
Può essere un problema del server ftp? E se si quale?
Qualche dritta?
LudovicoVan
Profilo
| Junior Member
106
messaggi | Data Invio:
mer 17 ago 2005 - 21:05
> Questo sito ftp non risponde con i socket del Net mentre
> se uso un ocx (e a me questa cosa non piace) funziona alla grande.
> Può essere un problema del server ftp? E se si quale?
Forse il problema è che il protocollo FTP è più complesso di una semplice comunicazione via TCP/IP. Fra l'altro, l'FTP usa *due* canali di comunicazione, uno per i dati e uno per il controllo...
Ciao. -LV
(Peace X Love] = [1)
alessio_fi
Profilo
| Newbie
33
messaggi | Data Invio:
gio 18 ago 2005 - 00:36
si ma fammi capire: con cuteftp, per esempio, mi da lo stesso problema (almeno all'inizio), ossia che il socket non si connette con la chiamata PASV. Il cuteftp quindi rettifica la chiamata chiamando un PSW, un RET 0 e successivamente un PORT con il mio indirizzo IP (più due parametri in fondo della porta che non so come rintracci). Alla fine chiama un LIST e successivamente riesce a fare l'upload del file. Se faccio le stesse chiamate con il socket NET arrivo con successo fino al PORT (il socket lo apro tranquillamente chiamando l'ip del server remoto più la porta 21, proprio come cuteftp) ma appena provo a fare l'upload mi va o in timeout oppure mi dice che la connessione è rifiutata.
Possibile che un vecchio ocx del vb6 ed un normale clien ftp ce la facciano ed il socket NET no?
COsa mi perdo per strada?
Grazie mille.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 18 ago 2005 - 11:57
Non è un problema che un OCX vecchio funziona e .NET nuovo non funziona. Il problema come ti ha segnalato Ludovico è che il protocollo FTP è molto difficile da implementare rispetto ad altri protocolli base come HTTP o SMTP. Quindi prima passare ad un'implementazione bisognerebbe conoscere a fondo il protocollo leggendo le RFC.
Successivamente è necessario conoscere bene anche il sistema di Socket di .NET, capire la differenza fra Socket sincroni e asincroni, quando utilizzare gli uni e quando gli altri e sapere anche come funzionano i Threads, e concorrenza perchè sicuramente ne avrai bisogno.
Inoltre sono previste anche conoscenza relative alla sicurezza e ai firewall, come ben sai l'FTP può funzionare in modo attivo o passivo (dietro firewall).
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
alessio_fi
Profilo
| Newbie
33
messaggi | Data Invio:
ven 19 ago 2005 - 09:11
Si Brain, lo so che è una cosa complicata, come so dei firewall etc.
Ed infatti, a fronte di tutti questi problemi purtroppo son costretto a rinunciare alla connessione ftp via socket (quando una cosa non funziona su almeno un sito non la posso considerare affidabile ed è quello che mi è successo).
Peccato, fino alla connessione funzionava tutto, ma si schianta quando chiedo o il LIST oppure il RETV, dandomi l'errore 425.
Pace, mi affido al buon vecchio Inet.
Grazie a tutti lo stesso.
Ale.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 19 ago 2005 - 14:53
Ciao Alessio,
forse non ne sei al corrente, ma nel FW 2.0 c'è un'apposita classe Ftp per fare ciò che desideri direttamente inclusa nel Framework. So che implementarlo da soli da zero da' più soddisfazione, però se intendi usare il controllo Inet unmanaged prossimamente avrai la possibilità di convertirlo usando le classi nuove managed.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
alessio_fi
Profilo
| Newbie
33
messaggi | Data Invio:
ven 19 ago 2005 - 16:41
ottimo, quindi attendo la versione ufficiale della 2.0 (qui da me storgono la bocca se gli dico di installare una versione beta).
A proposito, ma si sa niente dell'uscita definitiva del 2005?
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
ven 19 ago 2005 - 22:41
7 novembre 2005.
C'è solo un capitano !!!!!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !