Italian [ SOLVED ] B4J Server Ftp

Xfood

Expert
Licensed User
Infatti ho visto che hai fatta una. Avevo capito che avevi una versione NON-Ui e ne volevi una UI.
E quella che hai realizzato non funziona?
purtroppo non fa da server ftp, non permette l'accesso, mentre nella modalita' non-ui invece si,
la differenza stya nel comando
StartMessageLoop
che e' valido solo in modalita non-ui
hai qualche idea?
 

LucaMs

Expert
Licensed User
Longtime User
Gli serve(irebbe) la possibilità di realizzare server b4j con interfaccia grafica, questo è il punto.

Attualmente non è possibile, è necessario creare un sw che faccia da... InterFaccia :) grafica per il server NON-UI.

Se ha pazienza, entro oggi sarà pronto.
 

Star-Dust

Expert
Licensed User
Longtime User
gia la systray mi funziona, e' il servizio ftp che non riceve nulla,
a meno che non metto
StartMessageLoop
che mi da errore perche non va in modalita' ui
Da quello che dice @Erel in questo post, StartMessageLoop va usato quando non ci sono cose di messaggi. Viceversa se ci sono code di messaggi usare le Resumable SUB.

Bisogna studiarci su per trasformare il tutto per le resumable sub.
Io non ho visto il codice di Erel per FTP. Ma studiandolo credo che qualcosa si possa fare.
 

Xfood

Expert
Licensed User
Da quello che dice @Erel in questo post, StartMessageLoop va usato quando non ci sono cose di messaggi. Viceversa se ci sono code di messaggi usare le Resumable SUB.

Bisogna studiarci su per trasformare il tutto per le resumable sub.
Io non ho visto il codice di Erel per FTP. Ma studiandolo credo che qualcosa si possa fare.
te ne sarei grato se partendo dal mio esempio riesci a correggere e sistemare il problema
sarebbe fantastico per molti nella comunita'
per me sicuramente.
 

Star-Dust

Expert
Licensed User
Longtime User
te ne sarei grato se partendo dal mio esempio riesci a correggere e sistemare il problema
sarebbe fantastico per molti nella comunita'
per me sicuramente.
Ho dato un occhiata veloce. Appena posso, se qualcun'altro più veloce di me non ci arrivi prima, vedo che posso fare
 

Xfood

Expert
Licensed User
Ho dato un occhiata veloce. Appena posso, se qualcun'altro più veloce di me non ci arrivi prima, vedo che posso fare
chiaramente utilizza quello del post 13
Grazie
 

Star-Dust

Expert
Licensed User
Longtime User
Qualche novita'? 🙏🙏🙏🙏
Scusa il ritardo della risposta ma sono impegnato con il lavoro. In questi due giorni che lo provo e a me funziona il tuo sorgente. Spiegami meglio cosa non ti funziona?
 
Last edited:

Xfood

Expert
Licensed User
Hai provato a trasferire un file da un altro pc anche in rete, oppure dal telefono con un client ftp?
Il client ftp sembra che si connette, ma non accetta trasferimenti, invece con la configurazione uguale ma NO-UI Con il comando
Startmessageloop
Invece funziona.
Fammi sapere per favore, se riesci a ricevere un file
Dal tuo telefonino, utilizzando il mio esempio di serverftp del post 13
Grazie
 

LucaMs

Expert
Licensed User
Longtime User
Hai provato a trasferire un file da un altro pc anche in rete, oppure dal telefono con un client ftp?
Il client ftp sembra che si connette, ma non accetta trasferimenti, invece con la configurazione uguale ma NO-UI Con il comando
Startmessageloop
Invece funziona.
Fammi sapere per favore, se riesci a ricevere un file
Dal tuo telefonino, utilizzando il mio esempio di serverftp del post 13
Grazie
Se mi avessi dato fiducia e lasciato proseguire...
Se ha pazienza, entro oggi sarà pronto.
avrei completato la gran parte del progetto (dei progetti) in poco tempo.

Il punto è che lo StartMessageLoop è necessario nei server, affnché rimangano in ascolto per la ricezione di eventuali "messaggi" e che è "incompatibile" con progetti B4J con UI.

Avevo praticamente risolto, in un modo relativamente semplice: due server all'interno del progetto b4j principale, uno FTP e l'altro "websocket". Il secondo avrebbe ricevuto da un client (b4j ma potrebbe essere anche b4a o b4i, insomma Desktop, Android o iOS) dei "comandi" tramite websocket che gestissero il server FTP, ovvero gli "dicessero" di avviarsi o fermarsi). Questo client avrebbe avuto, ovviamente, la sua "bella" GUI, risolvendo il problema.

Dato che sono molto suscettibile e che non hai nemmeno vagamente considerato il mio impegno e soprattutto quella frase:
Se ha pazienza, entro oggi sarà pronto.
ho mollato, già buttato tutto in "cantina" e dimenticato :)
 

Xfood

Expert
Licensed User
Se mi avessi dato fiducia e lasciato proseguire...

Chi ti ha stoppato???? , io no di sicuro..
ogni soluzione per me e buona, basta risolvere il problema,
tutti insieme si trovano delle soluzioni ottime per proseguire nei Nostri piccoli passi


avrei completato la gran parte del progetto (dei progetti) in poco tempo.

Il punto è che lo StartMessageLoop è necessario nei server, affnché rimangano in ascolto per la ricezione di eventuali "messaggi" e che è "incompatibile" con progetti B4J con UI.

Avevo praticamente risolto, in un modo relativamente semplice: due server all'interno del progetto b4j principale, uno FTP e l'altro "websocket". Il secondo avrebbe ricevuto da un client (b4j ma potrebbe essere anche b4a o b4i, insomma Desktop, Android o iOS) dei "comandi" tramite websocket che gestissero il server FTP, ovvero gli "dicessero" di avviarsi o fermarsi). Questo client avrebbe avuto, ovviamente, la sua "bella" GUI, risolvendo il problema.

Dato che sono molto suscettibile e che non hai nemmeno vagamente considerato il mio impegno e soprattutto quella frase:

ho mollato, già buttato tutto in "cantina" e dimenticato :)

io ringrazio tutti quelli che mi aiutano a superare le mie difficolta, visto che sono ancora giovane " in B4x" " Ho 50 anni ormai :cool: "
sono accette tutte le buone idee
Grazie mille a tutti per il tempo che dedichere al quesito
 

LucaMs

Expert
Licensed User
Longtime User
Ho 50 anni ormai :cool: "
Esattamente il prossimo 11 ottobre ne compirò 60 (sempre se ci arriverò!).

Essendo un evento speciale (cambio decennio) come minimo mi aspetto che tutti voi uniate le vostre forze e mi regaliate un portatile modernissimo, potente e con ovviamente Windows 10 - visto che ancora "lavoro" sul mio, vecchio di 10 anni e con Windows 7!

Per cui... segnatevi la data e iniziate a risparmiare (avete tutto il tempo) 😄


In realtà ho sospeso la cosa per vari motivi:

1 - ho un progettino sul quale sono leggermente in ritardo (non molto, solo... alcuni anni!);
2 - ho sperato, dopo il suo intervento, che @Star-Dust trovasse una soluzione migliore della mia (sembrava che ne avesse già una in mente);
3 - la mia soluzione ha un problemino, che spiegherò "dettagliatamente" nel post successivo.
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
3 - la mia soluzione ha un problemino, che spiegherò "dettagliatamente" nel post successivo.
Il progetto con GUI - che altro non dovrebbe essere se non un websocket client con interfaccia grafica del progetto principale NON-UI, server FTP, dovrebbe funzionare più o meno come il pannello di Wamp-Xampp: lo avvii, ti mostra appunto un "form" che ti consenta di:

1 - avviare il server FTP
2 - fermare il server FTP
3 - mostrare liste di file locali e remoti (sfruttando il server FTP) in modo da poter trasferire i file (in pratica dovrebbe sembrare il vero server FTP con interfaccia grafica).
4 - poter sistemare la cosa sulla barra delle applicazioni.

Il problema principale è il punto 1. Questo perché ultimamente ci sono problemi con Java. Mi spiego...

Fino a qualche tempo fa, con Java 8, non ci sarebbero stati problemi: entrambi i sw sarebbero stati dei file jar eseguibili su qualunque piattaforma Desktop (Windows, Mac, Linux e qualunque eventuale altro su cui girasse il runtime di Java).

Adesso, con Java 11 e 14 le cose si complicano. O ti assicuri che i PC sui quali installerai i due sw abbiano ancora Java 8 oppure si dovrà creare un exe per windows e diverse cosette per gli altri due S.O. citati.

Questo cambia le cose, creando problemi, anche per quanto riguarda la possibilità del sw "pilota" di avviare l'altro, il vero e proprio server FTP.
Il sw pilota dovrà lanciare semplicemente il jar del server FTP? O questo secondo sarà un exe e dovrà lanciare questo?

Non so se sia chiaro, probabilmente non chiarissimo.
 

Xfood

Expert
Licensed User
Il progetto con GUI - che altro non dovrebbe essere se non un websocket client con interfaccia grafica del progetto principale NON-UI, server FTP, dovrebbe funzionare più o meno come il pannello di Wamp-Xampp: lo avvii, ti mostra appunto un "form" che ti consenta di:

1 - avviare il server FTP
2 - fermare il server FTP
3 - mostrare liste di file locali e remoti (sfruttando il server FTP) in modo da poter trasferire i file (in pratica dovrebbe sembrare il vero server FTP con interfaccia grafica).
4 - poter sistemare la cosa sulla barra delle applicazioni.

Il problema principale è il punto 1. Questo perché ultimamente ci sono problemi con Java. Mi spiego...

Fino a qualche tempo fa, con Java 8, non ci sarebbero stati problemi: entrambi i sw sarebbero stati dei file jar eseguibili su qualunque piattaforma Desktop (Windows, Mac, Linux e qualunque eventuale altro su cui girasse il runtime di Java).

Adesso, con Java 11 e 14 le cose si complicano. O ti assicuri che i PC sui quali installerai i due sw abbiano ancora Java 8 oppure si dovrà creare un exe per windows e diverse cosette per gli altri due S.O. citati.

Questo cambia le cose, creando problemi, anche per quanto riguarda la possibilità del sw "pilota" di avviare l'altro, il vero e proprio server FTP.
Il sw pilota dovrà lanciare semplicemente il jar del server FTP? O questo secondo sarà un exe e dovrà lanciare questo?

Non so se sia chiaro, probabilmente non chiarissimo.
per me e quasi arabo il tutto

1) perche con java 11 e 14 ci sono problemi?????

2) si potrebbe utilizzare come dici tu un jar non-ui per utilizzare il server ftp in ascolto ( basta che non si veda la schermata nera tipo dos sempre attiva, ma in silente mode)
e poi se possibile un altro jar oppure eseguibile per windows che possa pilotare il server stesso, ridotto a icona come nel mio esempio
che possa avviare stoppare il server, visualizzare il log in tempo reale, le connessioni in entrata ecc.
se hai un esempio del genere fai un fischio, in mancanza di altro provo questa soluzione.

3) il nostro grande Erel non puo' fare nulla per gestire tutto in modalita UI, e cosi complicato avere un comando StartMessageLoop in modalita' UI ??????
StartMessageLoopUI sarebbe fantastico.
 

LucaMs

Expert
Licensed User
Longtime User
2) si potrebbe utilizzare come dici tu un jar non-ui per utilizzare il server ftp in ascolto ( basta che non si veda la schermata nera tipo dos sempre attiva, ma in silente mode)
e poi se possibile un altro jar oppure eseguibile per windows che possa pilotare il server stesso, ridotto a icona come nel mio esempio
che possa avviare stoppare il server, visualizzare il log in tempo reale, le connessioni in entrata ecc.
se hai un esempio del genere fai un fischio, in mancanza di altro provo questa soluzione.
E' quello che ho appena spiegato nel post precedente al tuo, il #74 (!!!) e che avevo già fatto, anche se non completato.
 

LucaMs

Expert
Licensed User
Longtime User
3) il nostro grande Erel non puo' fare nulla per gestire tutto in modalita UI, e cosi complicato avere un comando StartMessageLoop in modalita' UI ??????
StartMessageLoopUI sarebbe fantastico.
Apri un thread con un titolo tipo:
"B4X FTP server b4xlib"
e nel primo post:
"How to use it in a B4J UI project?"
Temo che non riceverai la risposta che speri.
 

Star-Dust

Expert
Licensed User
Longtime User
gia la systray mi funziona, e' il servizio ftp che non riceve nulla,
a meno che non metto
StartMessageLoop
che mi da errore perche non va in modalita' ui
A me funziona correttamente. Ho provato con dispositivi mobili e altri pc della mia rete aziendale. Ho trasferito file, creato cartelle, cancellato file, ecc...
Perché non funziona? Ho trovato un piccolo errore nel codice che ti ha impedito di trasferire i dati, risolto quell'errore nel codice è perfetto.

Per quanto pittoresca la teoria suggerita da qualcuno, secondo cui (cito) lo StartMessageLoop è necessario nei server, affnché rimangano in ascolto per la ricezione di eventuali "messaggi", purtroppo non centra niente con il fatto che il Client non riceva dati dal Server.
StartMessageLoop che come ti ho spiegato serve solo nelle App non UI per smaltire la coda di messaggi. Mentre la App UI smaltiscono la coda dell'aggiornamento della UI con le resumable Sub (WAIT FOR).

P.S. Non dare troppa fiducia a chiunque si offre di darti aiuto, se seguissi tutto quello che consigliano in giro altro che una settimana, ma passeresti mesi a fare prove inutili e incocludenti.
 
Last edited:
Top