Guten Abend / Nacht liebe Community,
ich stehe vor nem problem... Und zwar einem UDP Send byte Problem. Ich laufe je nach Auflösung des Desktops in eine Exception hinein. (Das Bild ist zu groß für den UDP Stream)
Was ich machen will / muss:
Ich habe einen Server, der sendet den aktuellen Desktop an einen Client. Der Client bekommt diesen und packt es in eine Picturebox. Funktioniert auch.
Das Problem hierbei, das ab einer Auflösung von 1024x768 nix mehr gesendet wird, da das UDP Packet zu groß ist. Somit bleiben mir nun 2 Verschiedene Lösungsmöglichkeiten.
1. Die UDP Packete splitten und auf der Client seite zusammen setzten
oder
2. Die Desktopaufnahme bzw das Bild in Kacheln zu schneiden und zu senden.
Wobei die 2. Möglichkeit mir etwas zu aufwendig erscheint.
Nach ca 1 Woche googlen und lesen muss ich mich nun leider an euch wenden. Ich habe wirklich keinen ansatz, wie ich dieses bewärkstelligen könnte.
Hier einmal der Code:
Server Seite:
Client Seite
Und hier die Funktionen fürs Bild:
Ich hoffe ihr könnt mir paar Tips geben wie ich das Problem in den Griff bekomme.
Bis dahin gute Nacht und ein schönen Sonntag noch
ich stehe vor nem problem... Und zwar einem UDP Send byte Problem. Ich laufe je nach Auflösung des Desktops in eine Exception hinein. (Das Bild ist zu groß für den UDP Stream)
Was ich machen will / muss:
Ich habe einen Server, der sendet den aktuellen Desktop an einen Client. Der Client bekommt diesen und packt es in eine Picturebox. Funktioniert auch.
Das Problem hierbei, das ab einer Auflösung von 1024x768 nix mehr gesendet wird, da das UDP Packet zu groß ist. Somit bleiben mir nun 2 Verschiedene Lösungsmöglichkeiten.
1. Die UDP Packete splitten und auf der Client seite zusammen setzten
oder
2. Die Desktopaufnahme bzw das Bild in Kacheln zu schneiden und zu senden.
Wobei die 2. Möglichkeit mir etwas zu aufwendig erscheint.
Nach ca 1 Woche googlen und lesen muss ich mich nun leider an euch wenden. Ich habe wirklich keinen ansatz, wie ich dieses bewärkstelligen könnte.
Hier einmal der Code:
Server Seite:
VB.NET-Quellcode
- Try
- udpClient = New UdpClient
- udpClient.Connect(GLOIP, GLOINTPORT)
- Dim b As New Bitmap(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height)
- Using g As Graphics = Graphics.FromImage(b)
- g.CopyFromScreen(0, 0, 0, 0, New Size(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height))
- End Using
- Dim bytCommand As Byte() = Image2ByteArray(b)
- Dim pRet As Integer = udpClient.Send(bytCommand, bytCommand.Length)
- Console.WriteLine("bytes send to " & GLOIP.ToString & ": " & pRet.ToString)
- udpClient.Close()
- Catch e As Exception
- Console.WriteLine(e.Message)
- End Try
Client Seite
Und hier die Funktionen fürs Bild:
Ich hoffe ihr könnt mir paar Tips geben wie ich das Problem in den Griff bekomme.
Bis dahin gute Nacht und ein schönen Sonntag noch