Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [c#] screenshot remoto (parte client)
Forum - C# / VB.NET - [c#] screenshot remoto (parte client)

Avatar
ianna93 (Normal User)
Newbie


Messaggi: 11
Iscritto: 23/04/2010

Segnala al moderatore
Postato alle 11:30
Sabato, 19/06/2010
Allora parto con la spiegazione: volevo capire come funzionasse un programma tipo teamviewer o showmypc, ecc.
Mi sono messo a crearne uno (non l'avessi mai fatto..):rofl:!

Il server invia correttamente un immagine gif 1024x768 (max 100kb) (forse l'immagine è troppo grande? no perché in precedenza riuscivo ad inviare immagini png 1280x1024) e il client li riceve corretamente. Secondo me il problema sta nel fatto che la form ricevendo l'immagine non fa in tempo a prepararsi perché è già pronta a cambiarla e quindi a riceverne un'altra! :-| non so se si capisce...
Dovrei aggiungere, non so, qualche evento? boh aiutatemi voi!! se non avete capito basta chiedere. Posto il codice se serve!
Grazie in anticipo!:k:


I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L'insieme dei due costituisce una forza incalcolabile!!
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5640
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:33
Sabato, 19/06/2010
Non si è capito nulla ... in particolare, il server spedisce correttamente, il client riceve correttamente ... e il problema allora qual è?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:33
Sabato, 19/06/2010
Meglio se posti il codice... E che spieghi meglio cosa intenedi per "non fa in tempo a prepararsi".


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
delta (Normal User)
Pro


Messaggi: 96
Iscritto: 01/09/2009

Segnala al moderatore
Postato alle 17:44
Sabato, 19/06/2010
la form è lato client, suppongo. quindi il problema è l'aggiornamento dell'immagine, che non avviene abbastanza rapidamente?


programmatore è chi, non sapendo come realizzare un'idea, studia e trova il modo di farla. E' un lamer chi, non sapendo come realizzare un'idea, copia il codice degli altri.

"http://deltatheprogrammer.blogspot.com

Life_Universe_Everything
PM Quote
Avatar
ianna93 (Normal User)
Newbie


Messaggi: 11
Iscritto: 23/04/2010

Segnala al moderatore
Postato alle 18:30
Lunedì, 21/06/2010
Allora in pratica ho capito il problema, ma non ho capito come risolvere:

Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Net.Sockets;
  3. using System.IO;
  4. using System.Drawing;
  5. using System.Windows.Forms;
  6.  
  7. namespace screenclient
  8. {
  9.     public partial class screenning : Form
  10.     {
  11.         public screenning()
  12.         {
  13.            while(true)
  14.            {
  15.              // codice del programma dove riceve l'immagine e la mette come sfondo della form che devo far visualizzare.
  16.            }
  17.         }
  18.     }
  19. }



ricevendo in continuazione le immagini (screenshot) in un ciclo in loop, crea la form, ma è bianca e come se fosse bloccata. Questo è anche logico! Ma come risolvo? Si è capito il problema ora?


I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L'insieme dei due costituisce una forza incalcolabile!!
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5640
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:56
Lunedì, 21/06/2010
Se usi un ciclo senza usare un nuovo thread, il thread corrente non ha il tempo di fare il refresh del form attuale.

O usi un nuovo thread, oppure provi ad inserire una

Application.DoEvent();

all'interno del ciclo


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
ianna93 (Normal User)
Newbie


Messaggi: 11
Iscritto: 23/04/2010

Segnala al moderatore
Postato alle 13:13
Martedì, 22/06/2010
Testo quotato

Postato originariamente da nessuno:

Se usi un ciclo senza usare un nuovo thread, il thread corrente non ha il tempo di fare il refresh del form attuale.

O usi un nuovo thread, oppure provi ad inserire una

Application.DoEvent();

all'interno del ciclo



Application.DoEvent(); niente male come cosa!! grazie 1000:k:


I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L'insieme dei due costituisce una forza incalcolabile!!
PM Quote