Italian FileTransfer installato su PC

nonno

Active Member
Licensed User
Longtime User
Ciao ragazzi
qualcuno di voi ha avuto a che fare col file "FileTransfer" installato sul PC ?
sapete dove salva il file ricevuto?
da quanto ho letto da Erel ,dove ho scaricato il file lo dovrebbe salvare nella cartella temporanea "temp" di Windows... li non si trova, nemmeno a fare la ricerca del fai con il nome inviato...
forse non lo salva?
oppure cambia il nome, cosa probabile per il fatto che Erel scrive che i file non vengono sovrascritti...
Grazie
 

sirjo66

Well-Known Member
Licensed User
Longtime User
se non dai indicazioni più precise è ovvio che nessuno ti risponda

1) stiamo parlando di B4A oppure B4J ??

2) da dove hai scaricato il file ?? Se mi mostri cosa ha scritto Erel forse capisco di più

3) che cosa è la "ricerca del fai" ??

Sergio
 

nonno

Active Member
Licensed User
Longtime User
Grazie Sergio in parte ho risolto, non riesco ad inviare l'intero file txt perciò lo invio riga per riga. Mi servirebbe il comando per inviare l'intero file.
(invio da B4A e ricevo su PC con B4J)
Grazie mille
 

LucaMs

Expert
Licensed User
Longtime User
Grazie Sergio in parte ho risolto, non riesco ad inviare l'intero file txt perciò lo invio riga per riga. Mi servirebbe il comando per inviare l'intero file.
(invio da B4A e ricevo su PC con B4J)
Grazie mille

Probabilmente stai utilizzando questo esempio di Erel:
https://www.b4x.com/android/forum/t...p-to-your-b4j-server-over-the-internet.37201/

Se sì, troverai i file trasferiti nella cartella "FileServer-B4J/Objects/Uploaded" (nella "FileServer-B4J" c'è il file del progetto B4J).

Sempre nella Objects trovi il file FileServer.jar che è quasi l'equivalente di un file .exe (nel senso che basta lanciare questo, anche se gli serve che sul PC sia installato Java JRE, che tu hai sicuramente).

Visto che riesci ad inviare i messaggi, sembra che tutte le tue impostazioni (modem-router) siano corrette.


Se invece stai usando altri progetti B4J-B4A oppure l'invio di file continua a non funzionare... siamo qui :)
 

nonno

Active Member
Licensed User
Longtime User
Grazie Luca
scusate ma non mi sono spiegato, il problema mio era dove andava a salvare il file dei dati inviati con B4A e ricevuti con B4J scaricati da Erel , programmi che fai riferimento al link allegato alla tua risposta. da qualche giorno ho risolto. lanciando il file jar dal PC i file ricevuti li salva nella cartella "C:\AppData\Local\Temp\nome file".
Il mio problema che non riesco a trasferire un file intero direttamente al server(B4J) invio i dati un record alla volta da B4A e B4J li riceve e li salva sul PC, vi chiedo con questi due programmi riesco ad in inviare un file.txt intero direttamente al PC?
posso ottenete una risposta dal programma server(B4J) di conferma che il file è stato ricevuto?
Grazie mille
 

LucaMs

Expert
Licensed User
Longtime User
vi chiedo con questi due programmi
B4A e B4J non sono programmi, sono linguaggi per programmare.

Non sono riuscito a capire con certezza se hai utilizzato i PROGRAMMI scritti da Erel utilizzando B4A e B4J che potresti aver scaricato da quel link che ho messo nel mio post precedente:
https://www.b4x.com/android/forum/t...p-to-your-b4j-server-over-the-internet.37201/

In quella pagina, in fondo al primo post, ci sono due file compressi (zip): FileClient-b4a.zip e FileServer-b4j.zip. Questi contengono i programmi che dovresti usare.

Se hai utilizzato questi, come detto i file inviati dall'app scritta in B4A verranno salvati dal programma-server scritto in B4J (che Erel ha chiamato FileServer) nella sottocartella "Uploaded" creata dal programma stesso (FileServer.jar, generato dal progetto B4J).

Altrimenti dovresti specificare meglio quali programmi scritti usando B4A e B4J hai scaricato e stai usando.
 

nonno

Active Member
Licensed User
Longtime User
Ok scusa Luca hai ragione sono un casinista, ma soprattutto non riesco a spiegarmi in termini tecnici per il motivo che non ho studiato informatica.
i programmi che uso, scaricati da Erel sono questi " WebSocketExample e B4A-WebSocket", i due programmi comunicano ma non inviano un file intero lo devo inviare un record alla volta...

Process_Globals
Private wsh As WebSocketHandler
Private link As String = "ws://192.168.1.200:80/ws"
End Su

programma "WebSocketExample"
Sub btnSend_Click
Dim data As Map
Dim comanda As String
Private Reader As TextReader
Reader.Initialize(File.OpenInput(File.DirRootExternal, "operatore1.txt"))
Private line As String
line = Reader.ReadLine

Do While line <> Null
EditText1.Text=line
data.Initialize
data.Put("message", line)
wsh.SendEventToServer("Device_Message", data)

Log(line)
line = Reader.ReadLine
Loop
Reader.Close
EditText1.Text="Dati Inviati"
File.Delete(File.DirRootExternal,"operatore1.txt")
scvTest.Visible=False
scvTest1.Visible=False
scvTest2.Visible=True
scvTest.Left=1
scvTest2.Top = 50
scvTest2.Width = 890
scvTest2.Height = 260'
' load the ScrollView.Panel layout file
scvTest2.Panel.LoadLayout("tavolopnl")
' set the ScrollView.Panel.Height to the pnlSetup Panel height
scvTest2.Panel.Height = pnlTavolo.Height
btnSend.Visible=False
End Sub

B4A-WebSocket
Sub Device_Message(Params As Map)
Log("Messaggio Message: : " & Params.Get("message"))
Dim mes As String
mes=Params.Get("message")
Dim ScriviTxt As TextWriter
ScriviTxt.Initialize2(File.OpenOutput(File.DirTemp,"temp.txt", True), "UTF8")
ScriviTxt.Write("")
ScriviTxt.WriteLine(mes)
ScriviTxt.Close
End Sub

i due programmi che tu da tempo mi avevi consigliato di usare no riesco a configurare...
avendo un tipo di configurazione completamente diversa.

ho un IP statico creato dal sito DYNdns.it , forse per questo programma funziona solo con un punto "org"
FileClient
Private link As String = http://xxx.duckdns.org:54021/upload

FileServer
Private domain As String = "xxx" (qua ho provato ad inserire la password)
Private token As String = "yyy" (qua il nome Utente)
UpdateIp_Tick
Dim j As HttpJob
j.Initialize("j", Me)
j.Download2("http://www.duckdns.org/update", Array As String("domains", domain, "token", token, _
"ip", ""))
End Sub

Grazie Mille
 

LucaMs

Expert
Licensed User
Longtime User
Scusa tu ma io così non ci capisco molto (dovrei cercare esattamente quali progetti hai scaricato da B4X.com).

Facciamo questa prova. Per il momento dimentica ciò che hai fatto (a parte la registrazione su duckdns.org che ti servirà).

Prepara una cartella sul PC, ad esempio potresti chiamarla: "MioServer". Scarica in questa cartella i due file compressi (zip): FileClient-b4a.zip e FileServer-b4j.zip che trovi in fondo al primo post di questo thread: https://www.b4x.com/android/forum/t...p-to-your-b4j-server-over-the-internet.37201/

Decomprimi ("anzippa" come alcuni direbbero :D) i due file zip.

A questo punto dentro la cartella "MioServer" dovresti avere:

FileServer-B4J.zip
FileClient-B4A.zip

FileServer-B4J <--- questa cartella contiene il progetto B4J, il Server
FileClient-B4A <---- questa cartella contiene il progetto B4A, il Client (l'app)

Doppio-click sulla cartella FileServer-B4J; dentro c'è solo una cartella, FileServer; fai doppio click anche su questa e troverai tutto il progetto B4J. Doppio-click sul file:
FileServer.b4j e questo file verrà aperto NELL'ambiente di sviluppo di B4J. Qualche piccola modifica e poi lo lancerai (F5).
Le modifiche da fare in questo progetto sono:

ORIGINALE:
B4X:
Sub Process_Globals
    Private domain As String = "xxx"
    Private token As String = "yyy"

Al posto di xxx dovrai mettere il domain (dominio) che tu hai "scelto" (inventato - scritto) quando sei "entrato" in Duckdns.org. Io non mi sono mai registrato là, ma tu lo hai fatto ed hai dovuto scegliere (creare) un nome di dominio per il tuo server; devi mettere questo al posto di quelle xxx.
Duckdns.org deve averti dato un "token" collegato al dominio che tu hai scelto, ovvero una specie di chiave; dovrai scrivere il token che Duckdns ti ha dato al posto delle yyy.

Credo che per quanto riguarda il Server tu non debba fare altro, se non avviarlo (F5).
--------------

A questo punto devi modificare il client (l'app), ovvero il progetto B4A.

Apri la cartella "MioServer\FileClient-B4A\B4A Samples". Doppio click su FileClient.b4a (file di progetto B4A) e questo file verrà aperto nell'ambiente di sviluppo per i progetti B4A.

Le modifiche da fare qui sono:
ORIGINALE:
B4X:
Sub Process_Globals
    Private link As String = "http://xxx.duckdns.org:54021/upload"

Anche qui, al posto di xxx dovrai mettere il dominio che hai scelto (creato) tu su Duckdns.org.
----

A occhio, non vedo cos'altro ci sia da modificare, mi sembra niente.

Una volta avviato il server B4J, installata e avviata l'app, inviato un file tramite l'app, il file inviato...
troverai i file trasferiti nella cartella "FileServer-B4J/Objects/Uploaded" (nella "FileServer-B4J" c'è il file del progetto B4J).



P.S. IMPORTANTE:

Devi aver impostato il router (ne abbiamo già parlato) affinché le richieste che esso riceve su una specifica porta vengano indirizzate al tuo PC.
Puoi scegliere qualsiasi (quasi) numero di porta, ma poi dovrai scriverlo nell'app, nella riga che ho già scritto sopra:
ORIGINALE:
B4X:
Sub Process_Globals
    Private link As String = "http://xxx.duckdns.org:54021/upload"
quella 54021 è la porta, tu potrai mettere quella che vuoi, che hai impostato sul router.
 
Last edited:
Top