Italian Help for my first app - forum italiano, lo so ^_^

LucaMs

Expert
Licensed User
non conosco xampp...sicuro che tu non debba mettere un localhost in testa alla directori apptestuserdir ?

Seguendo l'esempio di Erel, si usa un comando per l'inizializzazione (il quale non apre la connessione subito):
FTP.Initialize("FTP", "ftp.example.com", 21, "user", "password")

ed ho sostituito "ftp.example.com" con l'indirizzo del mio pc (localhost sembra non funzionare)

poi uno dei due comandi che ho provato (cambiando i parametri)

FTP.List("/")
FTP.UploadFile(File.DirRootExternal, "1.txt", True, "/somefolder/files/1.txt")
 

LucaMs

Expert
Licensed User
In effetti, quando avvio un server web sul mio pc, affinché esso venga raggiunto dall'esterno io devo aprire una porta (port forwarding) associata al mio pc. Dopodiché il client dovrà eseguire una chiamata verso XXX.XXX.XXX.XXX:YYYY in cui le X rappresentano il mio IP pubblico e Y la porta associata.

Immagino che qualcosa del genere vada fatto anche per il server FTP.

Resta il fatto che non funziona nemmeno con l'emulatore sullo stesso pc del server.
 

LucaMs

Expert
Licensed User
Adesso usando l'emulatore tutto funziona bene.

Ho dovuto aggiungere:
FTP.PassiveMode = True

Adesso devo vedere se con questa impostazione tutto funziona ancora sul server FTP messo gentilmente a disposizione da maxware.

Poi dovrò trovare la soluzione affinché io possa usare lo smartphone per connettermi al mio pc.
In effetti, non vedo come il client possa raggiungere il server FTP sul mio pc conoscendo solo l'indirizzo pubblico del router; dovrei fargli raggiungere la mia postazione, quasi certamente col port forwarding sul router, ma poi non so come dovrà essere l'indirizzo:

per il server Web uso xxx.xxx.xxx.xxx.pppp nel quale pppp è la porta associata al mio pc.

ma qui il metodo FTP è:
FTP.Initialize("FTP", "xxx.xxx.xxx.xxx", 21, UserName, UserPW) nel quale 21 è ovviamente la porta.
 
Last edited:

LucaMs

Expert
Licensed User
Beh, scrivo questo post tanto per dare il buongiorno a maxware :)

Sono giunto al punto in cui con l'emulatore tutto funziona bene: server FTP sul mio pc, emulatore anche.

Dovrebbe funzionare bene anche con lo smartphone, quindi dall'esterno: la porta 21 risulta aperta, i firewall consentono il passaggio eppure, usando la stessa app e cambiando solo l'indirizzo del server, da locale all'IP pubblico, ricevo 530 User can not log in.

Vagamente assurdo :p
 

LucaMs

Expert
Licensed User
HEHEHE :(

Adesso che l'FTP mi funziona, sto valutando in quale modo sincronizzare i db locali sfruttando appunto l'FTP.

Mentre ci ragiono e scrivo appunti, piano piano mi sto rendendo conto che, molto probabilmente, dato che dovrò obbligare l'utente ad una connessione Internet (cosa che inizialmente avrei voluto evitare)... mi converrebbe a questo punto usare un db centralizzato (MySQL sullo stesso server del FTP, dato che non penso esista un hosting che fornisca solo FTP!).

Maremma ladra, mi verranno sempre dubbi, pubblicherò la mia app nel 2027 !

(Tra l'altro, essendo certissimo che il gioco famigerato mi renderebbe molto di più!).
 
Last edited:

LucaMs

Expert
Licensed User
Ah, a quel punto si dovrebbe usare PHP per gestire il DB.


[P.S. ]


Colui che ha pubblicato questo video, parla molto lentamente (e dice anche che non vuole farti perdere tempo :D.

Inoltre, in un altro video fa il pignolo perché la maggior parte della gente pronuncia "Apache" come "Apash" mentre andrebbe pronunciato "Apaci".

Ammesso che sia così, poi quando nomina il suo amato "C++" lo pronuncia "Ci plas plas":

intanto, se vuole pronunciarlo all'inglese, dovrebbe dire "Si plas plas"... inoltre, Plus è latino e va pronunciato in latino, ovvero... Plus!
 
Last edited:

LucaMs

Expert
Licensed User
Ricapitolando:

cosa mi conviene fare?

due app diverse, due versioni diverse: una standalone (per single :)) ed una con la possibilità di sincronizzazione dati tra utenti di uno stesso gruppo familiare? (forse si, perché la prima, correzioni e miglioramenti a parte, sarebbe quasi pronta).

nel secondo caso (sincronizzabili):

a) usare un file di testo (quindi FTP) contenente le query eseguite da un singolo utente, file che verrebbe inviato solo al termine delle sue operazioni sul db (chiusura app)

b) usare un db centralizzato, mantenendo aperta la connessione durante tutta la vita dell'app e "bloccando il db" per evitare un accesso contemporaneo a due utenti?
 
Top