PDA

View Full Version : [C#] controllo remoto pc da internet "protetto"


nikel
09-05-2010, 20:53
buonasera!

vorrei cimentarmi in una applicazione che mi permetta di controllare un pc da remoto via internet.

ho già scritto qualcosa di simile via bluethoot per WindowsMobile/pc

vorrei qualche consiglio su come creare un applicazione client+server che non renda il server vulnerabile (cioè con un accesso protetto)

inoltre (la mia prima applicazione data la lentezza del bluethoot) aggiornava lo screenshot ogni qualvolta il client "faceva una mossa" (cioè un click oppure un invio da tastiera)
è possibile fare una sorta di streaming minimanete fluido del desktop?

grazie!

tomminno
09-05-2010, 23:03
Potresti guardare il codice di VNC. Fa praticamente tutto quello che cerchi di realizzare.

nikel
10-05-2010, 08:17
mi piacerebbe creare qualcosa di mio partendo dall'idea del mio software precedente. cmq ci dò un occhiata ;)

più che altro cercavo un metodo di connessione efficiente...

^TiGeRShArK^
10-05-2010, 08:57
devi usare SSL per criptare la connessione.
Comunque è totalmente illogico fare uno screenshot e inviarlo, hai un consumo di banda tremendo ed è totalmente infattibile.
RDP ad esempio scambia semplicemente le informazioni sugli handle delle finestre e sulla posizione del mouse (detta così in modo semplice).

nikel
10-05-2010, 10:29
devi usare SSL per criptare la connessione.
Comunque è totalmente illogico fare uno screenshot e inviarlo, hai un consumo di banda tremendo ed è totalmente infattibile.
RDP ad esempio scambia semplicemente le informazioni sugli handle delle finestre e sulla posizione del mouse (detta così in modo semplice).

in questo modo però come faccio a fare doppio click sulle icone del desktop piuttosto che aprire il menu start e visualizzarlo?

Morlack`X
10-05-2010, 12:31
in questo modo però come faccio a fare doppio click sulle icone del desktop piuttosto che aprire il menu start e visualizzarlo?

In pratica avento gli handle puoi inviare dei "messaggi" a windows per eseguire certe azioni.

Il discorso degli screenshot ha senso solo parzialmente, nel senso che se non hai la possibilità di ricreare degli oggetti reali sul tuo client partendo da "cosa" effettivamente c'e' sul pc remoto, allora hai bisogno di certo di uno screenshot.

Per ridurre la banda potresi creare (o cercare) qualche algoritmo che trova solo le differenze tra 2 screen e aggiornare solamente la porzione di immagine cambiata, magari ogni "tot" millisecondi.

nikel
10-05-2010, 13:26
ricreare degli oggetti reali sul tuo client partendo da "cosa" effettivamente c'e' sul pc remoto


più che altro mi sembra una cosa decisamente complicata (almeno per il mio livello)


Per ridurre la banda potresi creare (o cercare) qualche algoritmo che trova solo le differenze tra 2 screen e aggiornare solamente la porzione di immagine cambiata, magari ogni "tot" millisecondi.

a questo ci stavo pensando proprio poco fa :D

nikel
11-05-2010, 09:46
ok sono riuscito a far connettere i due pc. e a fargli inviare stream di byte poi convertiti in stringhe...

per l'uso futuro... come faccio a prendere un oggetto bitmap - convertirlo in jpg in memoria - trasformarlo in un byte array - e una volta inviato ricovertire il byte array in un oggetto bitmap???

grazie!!"

nikel
11-05-2010, 15:54
altra cosa ci sono controindicazioni nell'avere 2 server 2 client nello stesso programma?

pensavo di affidare la gestione immagine ad una connessione separata è possibile?