Oppure

Loading
29/11/10 16:46
foralobo
fatemi capire se come logica va bene quello che ho pensato:

il client è quello che esegue tutti comandi...il server invece impartisce dei comandi.
Ma il server non agisce direttamente sull'altro pc!

Mi sbaglio


Esempio:
Eliminazione file da pc remoto:

server -> dice al client di eliminare e il client elimina da codice

e non

server -> elimina direttamente file sul client


Giusto?


altra cosa:

tramite graphics (CopyFromScreen) riesco a visualizzare il desktop.
come faccio ad inviarlo al server? (cioè come faccio a inviare l'immagine disegnata con l'oggetto graphics?)?
Suppongo convertendola...in cosa?


grazie
aaa
29/11/10 16:47
foralobo
errore caricamento dati forum...(messaggio da eliminare)
Ultima modifica effettuata da foralobo 29/11/10 17:08
aaa
29/11/10 17:54
Thejuster
Postato originariamente da foralobo:

fatemi capire se come logica va bene quello che ho pensato:

il client è quello che esegue tutti comandi...il server invece impartisce dei comandi.
Ma il server non agisce direttamente sull'altro pc!

Mi sbaglio


Esempio:
Eliminazione file da pc remoto:

server -> dice al client di eliminare e il client elimina da codice

e non

server -> elimina direttamente file sul client


Giusto?


altra cosa:

tramite graphics (CopyFromScreen) riesco a visualizzare il desktop.
come faccio ad inviarlo al server? (cioè come faccio a inviare l'immagine disegnata con l'oggetto graphics?)?
Suppongo convertendola...in cosa?


grazie


Veramente hai sbagliato il concetto :rotfl:

Il Server rimane in background o non sul computer remoto,
il Server interpreta i comandi ricevuti dal client.
il Client Invia i comandi connettendosi all'host remoto dov'è situato il server.

Per inviare un immagine puoi usare la classe Stream.
Il Concetto e quello di recuperare un immagine dal disco nel tuo caso
il server fà screenshoot e la salva in una cartella temporanea.

Dopo Prendere l'immagine, leggerne i byte e inviarli tramite stream
utilizzando i socket ovviamente.

esempio


convertire un immagine in un array di bytes

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
 return  ms.ToArray();
}


convertire un array di bytes in un immagine

public Image byteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}


mire.forumfree.it/ - Mire Engine
C# UI Designer
29/11/10 22:55
foralobo
Postato originariamente da Thejuster:

Postato originariamente da foralobo:

fatemi capire se come logica va bene quello che ho pensato:

il client è quello che esegue tutti comandi...il server invece impartisce dei comandi.
Ma il server non agisce direttamente sull'altro pc!

Mi sbaglio


Esempio:
Eliminazione file da pc remoto:

server -> dice al client di eliminare e il client elimina da codice

e non

server -> elimina direttamente file sul client


Giusto?


altra cosa:

tramite graphics (CopyFromScreen) riesco a visualizzare il desktop.
come faccio ad inviarlo al server? (cioè come faccio a inviare l'immagine disegnata con l'oggetto graphics?)?
Suppongo convertendola...in cosa?


grazie


Veramente hai sbagliato il concetto :rotfl:

Il Server rimane in background o non sul computer remoto,
il Server interpreta i comandi ricevuti dal client.
il Client Invia i comandi connettendosi all'host remoto dov'è situato il server.

Per inviare un immagine puoi usare la classe Stream.
Il Concetto e quello di recuperare un immagine dal disco nel tuo caso
il server fà screenshoot e la salva in una cartella temporanea.

Dopo Prendere l'immagine, leggerne i byte e inviarli tramite stream
utilizzando i socket ovviamente.

esempio


convertire un immagine in un array di bytes

public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
 return  ms.ToArray();
}


convertire un array di bytes in un immagine

public Image byteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}





grazie tante...beh nel mio caso è proprio il server che impartisce i comandi quindi penso proprio che la logica era giusta (nel mio caso almeno..poi se quello che io chiamo server lo si vuol chiamare client ve bene lo stesso..lo chiamo server perchè è lui che supervisiona tutti i pc..e poi impartisce i compiti oppure è il client di tanti server..è lo stesso)

cmq dimmi un po:

lasciando perdere il concetto di client-server
mettiamo ci sono pc1 e pc2

p1 controlla pc2

se pc1 vuole eliminare un file in pc2 com deve fare?
a) manda una stringa ti testo (che poi saranno bytes) a pc2 il quale esegue quallo che c'è nella stringa (l'ordine)
b opera direttamente su pc2 e cancella la stringa

secondo la logica di prima pensavo che la risposta sia A.

Mi dai conferma? (oppure mi smentisci spiegandomi con qualche esempio?)



----

in quanto alle operazioni sull'immagine, potresti scrivermele in vb.net?
aaa