<http://www.sybex.com/sybexbooks.nsf/2604971535a28b098825693d0053081b/d58690b7902512d688256bce007dda2f!OpenDocument>

Unter Download bekommst Du den Code. Multicast ist Kapitel 10, async sockets 8, threading 9. Das Sample Chapter ist leider nicht f�r den Zweck brauchbar.

Chris

At 08:18 PM 10/5/2004, you wrote:
also f�r jeden client einen eigenen thread, der das bild wegschickt?
gibt es in .Net keine technik zum �bertragen von bildern. so eine art
streaming? z.b. f�r videokonferenzen?

----- Original Message -----
From: "Christoph Wille" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, October 05, 2004 8:17 PM
Subject: Re: [Vb.net] Re: [Vb.net] Re: [Vb.net] byte array �bertragen


Variante (a) ist einen multithreaded Server zu bauen, (b) multicast (vergiss das gleich wieder).

Chris

At 08:07 PM 10/5/2004, you wrote:
>mh. also ich habe eine grafik in form eines byte arrays. bisher habe ich
das
>�ber das remoting realisiert, in dem ich beim client einfach eine funktion
>aufgerufen habe, deren parameter ein bytearray ist.
>bei einem client ist das auch toll, da habe ich eine �bertragung von einer
>halben sekunde pro bild und bekomme somit ein akzeptabel fl�ssiges bild.
>aber das programm soll auf 15 bis 20 clients ausgelegt werden, was meine
>�bertragung dann auf etwa 5 bis 6 sekunden verlangsamen w�rde. und das will
>ich optimieren.
>hier mal der code f�r die funktion, die das bild an die clients schickt:
>Public Sub _captureScreen()
>
>Dim i As Integer
>
>Dim user As IClient
>
>Dim screenTime As DateTime
>
>Dim duration As TimeSpan
>
>Do While keepRunning
>
>screenTime = DateTime.Now
>
>Dim getScreenShot As Interfaces.ScreenShot
>
>Dim ic As Byte()
>
>Try
>
>Dim screen As Image
>
>screen = getScreenShot.GetDesktopImage
>
>'Ein MemoryStream wird deklariert
>
>Dim ms As New System.IO.MemoryStream()
>
>'Das Image wird Byteweise in den MemoryStream gespeichert
>
>screen.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
>
>'Das sich im Buffer des MemoryStream befindliche ByteArray wird im ic
>gespeichert
>
>ic = ms.GetBuffer()
>
>'Der MemoryStream wird freigegeben
>
>ms.Flush()
>
>ms.Close()
>
>ms = Nothing
>
>screen.Dispose()
>
>screen = Nothing
>
>Catch e As Exception
>
>MessageBox.Show(e.ToString)
>
>End Try
>
>For i = 0 To server._clients.Count - 1
>
>user = server._clients(i)
>
>Try
>
>SyncLock user
>
>user._giveServerScreenShot(ic, server.guid)
>
>End SyncLock
>
>Catch e As Exception
>
>server._reOrgArray()
>
>End Try
>
>Next
>
>ic = Nothing
>
>getScreenShot = Nothing
>
>
>
>duration = DateTime.Now.Subtract(screenTime)
>
>server._schoolMain.screenTime.Text = duration.ToString
>
>Loop
>
>End Sub
>
>----- Original Message -----
>From: "Christoph Wille" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Tuesday, October 05, 2004 6:05 PM
>Subject: [Vb.net] Re: [Vb.net] byte array �bertragen
>
>
>At 05:55 PM 10/5/2004, you wrote:
> >ich habe ein byte array, das w�rde ich gerne an mehrere clients schicken,
> >die an einem bestimmten port lauschen. da ich nicht jeden client einzeln
> >ansprechen will, da die �bertragung schnell gehen soll, w�rde ich gerne
> >einen broadcast an einen speziellen port machen.
> >
> >hat jemand eine idee wie ich das in .net realisieren kann?
>
>Broadcast (nicht zu verwechseln mit Multicast) ist an sich eine Technik f�r
>kleine Datenmengen - zB um den Clients zu sagen "Ich hab was neues, hol's
>Dir wenn Interesse"
>
>Chris



_______________________________________________
Vb.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/vb.net

Odpovedet emailem