Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-09-2010, 23:25   #1
idnob
Junior Member
 
Iscritto dal: Sep 2010
Messaggi: 29
[Java] Invio Files su socket

Ciao ragazzi , come promesso rieccomi , il mio client FTP con uso socket procede alla grande , ora leggo tutti i comandi che hanno risposta direttamente dal canale comandi ( 21 ) , il fatto è che ora dovrei fare in modo di uploadare qualcosa sul Server FTP , a questo punto pensavo una connessione ATTIVA , mi sembra la più facile da fare , ed ecco i primi porblemi , questo è il codice che uso nel caso il comando dato sia "send"

Codice:
if (cmd.equals("send")) {										// Invio               file tramite SEND
			 							cmd = "port 82,56,110,160,20,20";              // Setto la trasmissione attiva
			 							pw.println(cmd);
			 							mess = br.readLine();
			 							System.out.println(mess);
			 							cmd = "type I";
			 							pw.println(cmd);
			 							mess = br.readLine();
			 							System.out.println(mess);
			 							cmd = "send";
			 							pw.println(cmd);
			 							mess = br.readLine();
			 							System.out.println(mess);
			 							
			 							while (br.ready()==true) { 
											mess = br.readLine();
											System.out.println(mess);
										   }
			 							
			 							TransferThread transferthread = new TransferThread(); //costruttore thread
			 							transferthread.start();			 
			 
			 
		 							} //fine IF
Il thread che apro è quello che dovrebbe riguardare l'invio del file , però anche qui ho un dubbio , come apro una connessione dati con il socket su un'altra porta?
Grazie mille in anticipo!
idnob è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 01:20   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da idnob Guarda i messaggi
Il thread che apro è quello che dovrebbe riguardare l'invio del file , però anche qui ho un dubbio , come apro una connessione dati con il socket su un'altra porta?
Grazie mille in anticipo!
La apri normalmente come quando ti sei connesso al server! O non sono riuscito a capire io il dubbio che hai?
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 08:03   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Penso tu debba costruire e gestire una nuova Socket, dedicata appunto al canale per il trasferimento dei dati, che chiuderai al termine del trasferimento stesso.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 09:28   #4
idnob
Junior Member
 
Iscritto dal: Sep 2010
Messaggi: 29
ok, è quello che pensavo anch'io , però ecco l'inghippo :

- La socket su cui lavoro è la 21 dell'host idnob.altervista.org
--> Socket s = new Socket ("idnob.altervista.org" , 21 );
- I comandi su questa porta come il pwd ecc... funzionano , se ad esempio però mando un "list" o un "put" allora devo aprire una nuova porta sulla stessa connessione .
Nel Thread facccio: Socket s1 = new Socket ("idnob.altervista.org",20);
Mi dice che Connection Refused . Devo forse mettere in wait la socket s ?
Gentili come al solito ragazzi!
idnob è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 09:39   #5
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
è una connessione passiva? :E
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 09:39   #6
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Ovviamente dovrai avere anche una ServerSocket in attesa sulla porta 20 sul server!
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 09:56   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da idnob Guarda i messaggi
ok, è quello che pensavo anch'io , però ecco l'inghippo :

- La socket su cui lavoro è la 21 dell'host idnob.altervista.org
--> Socket s = new Socket ("idnob.altervista.org" , 21 );
- I comandi su questa porta come il pwd ecc... funzionano , se ad esempio però mando un "list" o un "put" allora devo aprire una nuova porta sulla stessa connessione .
Nel Thread facccio: Socket s1 = new Socket ("idnob.altervista.org",20);
Mi dice che Connection Refused . Devo forse mettere in wait la socket s ?
Gentili come al solito ragazzi!
Direi che stai lavorando con il protocollo FTP. Cerca di usare qualche libreria specifica per tale protocollo che ti conviene.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 10:20   #8
idnob
Junior Member
 
Iscritto dal: Sep 2010
Messaggi: 29
-E' una connessione passiva

-La serverSocket è sul server (per esempio di altervista)

- Di librerie specifiche FTP ci sono quelle della sun , ma non le voglio usare proprio perchè le voglio fare io ( voglio capire il funzionamento ) in maniera molto rudimentale , ma funzionante

Se do il comando "passive" , il server mi risponde con l'ip e la porta con la sintassi: ip,ip,ip,ip,numero1,numero2 --> numero1,numero2 servono direi per il calcolo della porta a cui connettersi , calcolandola tramite numero1*256+numero2 .

Non capisco come connettermi all'host che vi dicevo sulla porta che abbiamo appena calcolato,cioè quella che il server ci ha dato per la connessione .
idnob è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 10:22   #9
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
creando un altro socket

comunque rudimentale e funzionante non vanno d'accordo
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 10:23   #10
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Ma la connessione sulla socket del server devi farla normalmente come qualsiasi altra socket! Però devi farla prima sulla ServerSocket, quindi il server dovrà avere una server socket in attesa sulla porta interessata!
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 10:39   #11
idnob
Junior Member
 
Iscritto dal: Sep 2010
Messaggi: 29
- Se creo un'altra socket mi die che la connessione è rifiutata
@tuccio : la ferrari non è altro che una 127 con upgrade (rudimentale/funzionante)

- La serverSocket non la controllo io , sono i server FTP di tutto il mondo che hanno la serverSocket in ascolto , io mi devo limitare a fare un client ftp.

Direi che il server si mette in attesa sulla porta che mi comunica dopo il comando "passive".

comunque adesso mi è venuta un idea , prendo la stringa che mi da il server , estrapolo l'ip , calcolo la porta e apro una nuova socket verso quell'ip e quella porta.
Stasera vi dirò il risultato.
Grazie mille per la pazienza e nel caso ci fossero nuove idee dite pure
idnob è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 10:41   #12
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da idnob Guarda i messaggi
- Se creo un'altra socket mi die che la connessione è rifiutata
@tuccio : la ferrari non è altro che una 127 con upgrade (rudimentale/funzionante)

- La serverSocket non la controllo io , sono i server FTP di tutto il mondo che hanno la serverSocket in ascolto , io mi devo limitare a fare un client ftp.

Direi che il server si mette in attesa sulla porta che mi comunica dopo il comando "passive".

comunque adesso mi è venuta un idea , prendo la stringa che mi da il server , estrapolo l'ip , calcolo la porta e apro una nuova socket verso quell'ip e quella porta.
Stasera vi dirò il risultato.
Grazie mille per la pazienza e nel caso ci fossero nuove idee dite pure
adesso ti ho capito... tu vuoi fare solo un client ftp ... io pensavo volevi emulare il tutto, sia client che server...
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2010, 10:54   #13
idnob
Junior Member
 
Iscritto dal: Sep 2010
Messaggi: 29
già , non sono stato preciso , scusate , devo solo fare il client funzionante con tutti gli N server FTP del mondo (anche se sono n-1 fa lo stesso)
idnob è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
Spotify introduce una nuova impostazione...
007 First Light introduce il path tracin...
Apple amplia iCloud+ e include Apple TV ...
IA e lavoro, non ci sono solo cattive no...
Antenne 5G e campo elettromagnetico: la ...
HONOR Watch 6 torna in offerta a 169,90 ...
Tutte le offerte Amazon di oggi: Google ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v