Bonjour,
J'ai eu comme projet de créer un Remote Desktop en VB.NET en utilisant les sockets, dont j'ai déjà une 'bonne' base fonctionnelle.
J'ai déjà commencé, je peux contrôler la souris à distance, il me restera le clavier qui sera lui aussi, simple à faire.
Cependant, mon réel problème se trouve sur la transmission de l'image, j'avais déjà il y a quelques semaines un peu regardé la chose, et résultat, je ne vois vraiment pas.
Tout d'abord, je prends une screenshot de l'écran du client avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Dim b As Bitmap
b = New Bitmap(My.Computer.Screen.WorkingArea.Width, _
        My.Computer.Screen.WorkingArea.Height, _
        Imaging.PixelFormat.Format16bppRgb555)
Dim g As Graphics = Graphics.FromImage(b)
g.CopyFromScreen(New Point(0, 0), New Point(0, 0), _
New Size(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height))
Une fois arrivé là, j'ai mon image, plutôt lourde (résolution 1920*1080), j'ai déjà décidé de faire une image réduite de moitié question dimensions (960*540 pour ma part). Pour la passer, je me suis dit qu'il fallait que je transforme cette image en String étant donné que je contacte mon serveur comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
toSend = System.Text.Encoding.ASCII.GetBytes("message$")
serverStream.Write(toSend , 0, toSend .Length)
serverStream.Flush()
 
buffSize = clientSocket.ReceiveBufferSize
serverStream.Read(inStream, 0, buffSize)
returnedData = System.Text.Encoding.ASCII.GetString(inStream)
Les trois dernières lignes sont donc l'attente de la réponse du serveur, qui à lui-même attendu mon envois dans un thread séparé.

Du coup, j'ai commencé à faire une fonction pour convertir mon Bitmap en String cependant, aucun des résultats n'étaient probants, généralement plus de 3mn! Je pense que 0.005 FPS c'est un peu just pour un Remote Desktop. J'aimerais donc savoir, comment les vraies s'il vous plait? ma méthode est-elle mauvaise?

Merci d'avance pour votre aide.