QFileSystemModel setRootPath timeout
-
Ciao a tutti
in una macchina ubuntu embedded mi connetto in rete per utilizzare dei file
model = new QFileSystemModel; model->setFilter(QDir::Files | QDir::AllDirs); model->setRootPath("/mnt/smb/myserverfolder/");
Quando la rete è connessa nessun problema, ma quando non lo è mi ritorna dopo 300 secondi di timeout
CIFS VFS: Server xxx.xxx.xx.xx has not responded in 300 seconds. Reconnecting... CIFS VFS: Unexpected lookup error -112
Mi sapete dare uno spunto per riuscire a controllare in modo elegante la questione ?
ringrazio in anticipo
Beppe -
Ciao, leggo "/mnt/smb", quindi credo che il dipositivo debba entrare nella cartella smb in cui dovrebbe esserci il mountpoint "myserverfolder". Nel momento in cui il tuo programma vuole accedere a tale cartella, tale cartella non è dispobiline poiché il dispo non riesce a montare la risorsa. Non è un problema di Qt ma dell'uso di condivisioni Windows non perfettamente supportate da Linux.
Il protocollo smb funziona in modo diverso in base al fatto che ci sia un workgroup oppure un dominio, dalla versione del pdc etc.
Ti consiglio di non usare questo approccio per leggere file di configurazione oppure per scrivere i dati raccolti. Usa ftp o meglio ancora api xml su http o un protocollo definito ad hoc oppure ad ogni installazione di un nuovo dispo sarà un bagno di sangue. -
Ciao e grazie per la risposta
Si, leggi bene, uso samba per connettermi in rete, in questo modo lato server windows non devo installare o fare niente, ne FTP o altri approcci, mi viene gratis.
Non devo leggere file di configurazione, la cartella di rete si monta tranquillamente, il problema avviene quando il cliente ha una rete "ballerina" per cui ogni tanto non viene vista, chiaramente la prima cosa da fare è sistemare le connessioni, però io voglio anche avvertirlo che c'e' qualcosa che non quadra, per questo motivo voglio intercettare il problema prima di attendere 300s per accorgermene.Beppe