View Full Version : [VB6] Lettura file in remoto
cecco.matteo
15-04-2015, 09:47
Ciao a tutti, da un po' ho iniziato a mettere mano nell'ambiente "reti" e inizialmente volevo creare un'applicazione che mi permettesse di chattare tra due computer.
Utilizzando Winsock con Indirizzo ip e porta in ascolto ci sono riuscito e questa applicazione funziona.
Adesso vorrei implementare altre due cose:
1) vorrei poter accedere dal PC1 ad un cartella del PC2 e leggere il contenuto di un file. Sapete se si può utilizzare sempre il Winsock?
Altrimenti avete altre dritte da darmi?
2)vorrei realizzare una sorta di scanner di rete per identificare i dispositivi che sono connessi, per poi connettermi a uno di questi. Nella mia ignoranza ho pensato:
per prima cosa se io ho un indirizzo ip tipo 192.168.2.190, vuol dire che sono il dispositivo n°190 e nella mia stessa rete possono esserci 0-254 dispositivi, è giusto?
se effettivamente è così, devo pingare ognuno di questi indirizzi e vedere se ricevo risposta (porta in ascolto) ?
Se ricevo risposta sono automaticamente connesso?
Aspetto qualche dritta e vi ringrazio!!
Matteo
lorenzo001
15-04-2015, 11:01
vorrei poter accedere dal PC1 ad un cartella del PC2 e leggere il contenuto di un file. Sapete se si può utilizzare sempre il Winsock?
Non direttamente. Nell'altro PC (suppongo ovunque su internet) ci deve essere un programma server attivo (magari con winsock) che ti permette di accedere alle risorse locali.
vuol dire che sono il dispositivo n°190
L'IP non indica nulla rispetto al numero di device presenti. Il tuo PC potrebbe essere l'unico dispositivo in rete ...
nella mia stessa rete
Cosa è la "tua stessa rete"?
devo pingare ognuno di questi indirizzi e vedere se ricevo risposta (porta in ascolto) ?
Sì, dovresti fare così, ma per ogni IP e porta possibili (sono tanti)
Se ricevo risposta sono automaticamente connesso?
Assolutamente no
cecco.matteo
15-04-2015, 11:22
Non direttamente. Nell'altro PC (suppongo ovunque su internet) ci deve essere un programma server attivo (magari con winsock) che ti permette di accedere alle risorse locali.
L'IP non indica nulla rispetto al numero di device presenti. Il tuo PC potrebbe essere l'unico dispositivo in rete ...
Cosa è la "tua stessa rete"?
Sì, dovresti fare così, ma per ogni IP e porta possibili (sono tanti)
Assolutamente no
Grazie della risposta, mi spiego meglio:
1 per il programma di chat ho usato un Winsock Client e un Winsock Server, una volta stabilita la connessione però, come faccio a dire "sono disponibili queste risorse?", in Vb6 sopratutto.
2) Mi sono spiegato male, non volevo dire che ci sono 254 dispositivi, intendevo che ci sono 254 POSSIBILI dispositivi, sbaglio ancora?
3)Il provider ti da un modem, a cui io collego 5 dispositivi per esempio, ecco io vorrei scandagliare la rete che contiene questi 5 dispositivi o per meglio dire, la fetta di rete che li contiene. Se il mio indirizzo ip finisce con 170 e quello di un'altro dispositivo con 50, allo stesso modo gli altri dispositivi avranno un numero finale compreso tra 0-254, giusto? Magari è una mia definizione fantasiosa, però visto che per questi 5 indirizzi cambia solo il numero finale, io immagino facciano parte di un blocco unico.
4) quando faccio il ping devo tenere conto anche della porta? non basta l'indirizzo ip? Tieni conto che io ho il controllo di entrambi i pc, quindi volendo metto in ascolto una porta lato server e poi pingo il suo indirizzo dal client.
Che algoritmo utilizzano quei software che in 10 secondi ti elencano tutti i dispositivi disponibili??
5)Quindi quando faccio il ping e ricevo una risposta vuole semplicemente dire che su quell'indirizzo e su quella porta, posso stabilire una connessione?
lorenzo001
15-04-2015, 11:37
"sono disponibili queste risorse?", in Vb6 sopratutto.
Il programma che gira sul PC può inviare i dati relativi alle risorse disponibili. Devi gestire tu un tuo protocollo nell'applicazione ... c'è del codice da scrivere, non c'è una soluzione in una risposta in un forum.
sbaglio ancora?
Sì, perché non è detto ... dipende da come è fatta la rete in cui operi. L'IP ha 4 valori, perché ti riferisci solo all'ultimo?
quando faccio il ping devo tenere conto anche della porta? non basta l'indirizzo ip?
L'ip ti dice se la macchina è accesa e risponde ... ma devi usare una porta (non con il ping) per sapere se un servizio specifico (ad es. un web server) è attivo.
pingo il suo indirizzo dal client.
Se la seconda macchina sta sulla stessa rete sì, ma se sta su internet le cose si complicano.
Che algoritmo utilizzano quei software che in 10 secondi ti elencano tutti i dispositivi disponibili??
Dipende dai dispositivi ... alcuni si annunciano in rete, altri li devi interrogare.
5)Quindi quando faccio il ping e ricevo una risposta vuole semplicemente dire che su quell'indirizzo e su quella porta, posso stabilire una connessione?
No. Il ping serve solamente a sapere che c'è qualcosa di attivo (non è detto che puoi stabilire una connessione e su quale porta).
cecco.matteo
15-04-2015, 13:15
scusami, non volevo passasse il messaggio che sto chiedendo un codice già pronto e funzionante, mi piace fare le cose di testa mia ma purtroppo quando si parla di reti non sono molto ferrato. Quando parli di gestire un mio protocollo cosa intendi?
Mi riferisco solo all'ultimo perché sto facendo l'esempio di un ufficio con 5 computer, quando a casa hai un tot di dispositivi connessi ad un router wifi non cambia solamente l'ultimo numero?
Io sto parlando di tot macchine connesse tutte ad un router wifi, tecnicamente se io mi connetto ad un access point, poi non posso comunicare con le macchine che sono connesse a loro volta?
Grazie comunque, mi stai dando una grossa mano!
lorenzo001
15-04-2015, 15:34
sto chiedendo un codice già pronto ...
Non potrebbe essere neanche ottenuto perché non è banale ...
non sono molto ferrato.
Capisco ... ma non pensi che prima di affrontare queste problematiche bisogna studiare seriamente e in maniera approfondita (qualche risposta in un forum non basta ...) la questione?
Quando parli di gestire un mio protocollo cosa intendi?
Intendo un meccanismo per cui il client chiede (con una apposita stringa che tu dedici ...) cosa vuoi sapere e il server, dopo aver controllato la validità della tua richiesta, risponde con quello che serve secondo regole che tu hai indicato (in modo da ottenere la risposta così come te la aspetti).
Mi riferisco solo all'ultimo perché sto facendo l'esempio di un ufficio con 5 computer, quando a casa hai un tot di dispositivi connessi ad un router wifi non cambia solamente l'ultimo numero?
Non è una regola fissa ... ti ripeto, dipende dalla configurazione di rete ... pin genere è l'ultima cifra ma dipende ...
Io sto parlando di tot macchine connesse tutte ad un router wifi, tecnicamente se io mi connetto ad un access point, poi non posso comunicare con le macchine che sono connesse a loro volta?
Anche qui dipende ... a volte, alcuni router hanno dei firewall integrati che non lo permettono ...
Fai una prova con due PC colleati al router, con un ping.
cecco.matteo
16-04-2015, 07:52
Hai ragione, probabilmente dovrei prima leggermi qualcosa a riguardo così da fare una domanda più specifica!
Grazie
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.