Buonasera. Era da tanto che non toccato il C#. Ricordandomi di essermi imposto di scrivere un'applicazione che utilizzasse i socket in modo asincrono oggi pomeriggio, di buon cuore, ho messo mano a Visual Studio ed è uscita qualcosa di veramente carino. Ho deciso di scrivere un tool di gestione remota, in pratica, anche se si capisce cosa sia, il server gira sulla macchina che l'utente - che si troverà su un altra macchina - vuole controllare. Attenzione però, non è una backdoor o un programma che permette l'uso malevolo del computer sul quale gira il server. Il programma sarà utile, non sarà un programma che permetterà di inviare uno screenshot dello schermo. La prova di quanto vi dico proviene dal fatto che ho scritto il programma come Applicazione Console perciò niente interfaccia grafica. L'utente scriverà dei comandi e questi verranno eseguiti. Perché allora ho usato i socket asincroni ? Perché il server dovrebbe accettare più di una connessione ? La risposta è semplice : con questo progetto ho intenzione di permettere all'utente di portarsi l'applicazione su qualsiasi computer lui voglia, eliminando il seguente problema : supponendo che il server accetti solo una connessione l'utente, lasciando aperto il programma in connessione, non potrà accedervi da nessun altro computer e questa io la vedo come una grande limitazione. Con i socket asincroni invece l'utente potrà eseguire qualsiasi comando da qualsiasi computer. Per adesso il programma è in fase di sviluppo, vorrei che mi deste consigli su cosa potrei aggiungere, io fino ad adesso non ho avuto molta fantasia ma sono sotto esami quindi è comprensibile. Una volta finito il programma non rilascerò il sorgente. Passando ai fatti, vi mostrerò come opera per adesso il programma in fase di connessione tra uno e più client, in fase di invio dati - con controllo se i dati inviati sono comandi o semplice testo - con un client e con più client, in fase di esecuzione dei comandi e infine in fase di chiusura della connessione con un client e con più client.
Connessione con un client
Connessione con più client
Invio dati con un client
Invio dati con più client
NB : L'invio del comando setcursor,x,y non posso farvelo vedere per ovvi motivi, dovrei fare un video. Comunque come potete intuire setta le coordinate del mouse in un determinato punto. Non è utile a niente, l'ho inserito come comando per testare il programma.
Chiusura della connessione con un client
Chiusura della connessione con più client
Per adesso questo è quanto.
EDIT : Al momento il tool esegue questi comandi :
- setta le coordinate del mouse scelte dal client ( la toglierò come funzione dato che non ha alcuna utilità )
- crea un file il cui percorso e il cui nome viene scelto dal client
- cancella il file da un percorso, specificando il nome
- crea una directory
- visualizza il numero di file presenti in una cartella
- visualizza i file presenti in una cartella con la possibilità di scegliere se utilizzare la ricorsione o no
Datemi suggerimenti su cosa poter aggiungere oltre a quello che ho in mente e che, si spera, mi verrà più avanti.
Connessione con un client
Connessione con più client
Invio dati con un client
Invio dati con più client
NB : L'invio del comando setcursor,x,y non posso farvelo vedere per ovvi motivi, dovrei fare un video. Comunque come potete intuire setta le coordinate del mouse in un determinato punto. Non è utile a niente, l'ho inserito come comando per testare il programma.
Chiusura della connessione con un client
Chiusura della connessione con più client
Per adesso questo è quanto.
EDIT : Al momento il tool esegue questi comandi :
- setta le coordinate del mouse scelte dal client ( la toglierò come funzione dato che non ha alcuna utilità )
- crea un file il cui percorso e il cui nome viene scelto dal client
- cancella il file da un percorso, specificando il nome
- crea una directory
- visualizza il numero di file presenti in una cartella
- visualizza i file presenti in una cartella con la possibilità di scegliere se utilizzare la ricorsione o no
Datemi suggerimenti su cosa poter aggiungere oltre a quello che ho in mente e che, si spera, mi verrà più avanti.
Ultima modifica: