ça permet quoi?

walloudtn Messages postés 47 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 22 août 2006 - 24 mars 2006 à 11:57
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 - 24 mars 2006 à 14:24
Bonjour ! SVP j'ai essayé de comprendre cette méthode mais j'arrive pas bien à saisir l'interret de cette méthode.J'ai besoin de vous pour la comprendre de plus.En fait après que la comprend je vais la refaire en java.J'ai besoin de vos opinion aussi à propos la migration de cette méthode du c# en java.Merci infiniment

public void WorkerThread()
{
byte[] buffer = new byte[bufSize];
HttpWebRequest req = null;
WebResponse resp = null;
Stream stream = null;
Random rnd = new Random((int) DateTime.Now.Ticks);
DateTime start;
TimeSpan span;


while (true)
{
int read, total = 0;


try
{
start = DateTime.Now;



if (!preventCaching)
{
req = (HttpWebRequest) WebRequest.Create(source);
req.Proxy=WebProxy.GetDefaultProxy();
//req.Proxy=GlobalProxySelection.Select;
req.AllowWriteStreamBuffering=true;
req.Headers.Set("Cache-Control","no-cache");
}
else
{
req = (HttpWebRequest) WebRequest.Create(source);
req.Proxy=GlobalProxySelection.GetEmptyWebProxy();
req.Headers.Set("Cache-Control","no-cache");
}

if ((login != null) && (password != null) && (login != ""))
req.Credentials = new NetworkCredential(login, password);

if (useSeparateConnectionGroup)
req.ConnectionGroupName = GetHashCode().ToString();


resp = req.GetResponse();



stream = resp.GetResponseStream();


while (!stopEvent.WaitOne(0, true))
{

if (total > bufSize - readSize)
{
System.Diagnostics.Debug.WriteLine("flushing");
total = 0;
}


if ((read stream.Read(buffer, total, readSize)) 0)
break;


total += read;



bytesReceived += read;
}


if (!stopEvent.WaitOne(0, true))
{

framesReceived++;



if (NewFrame != null)
{
Bitmap bmp = (Bitmap) Bitmap.FromStream(new MemoryStream(buffer, 0, total));

NewFrame(this, new CameraEventArgs(bmp));

bmp.Dispose();
bmp = null;
}
}



if (frameInterval > 0)
{

span = DateTime.Now.Subtract(start);

int msec = frameInterval - (int) span.TotalMilliseconds;


while ((msec > 0) && (stopEvent.WaitOne(0, true) == false))
{

Thread.Sleep((msec < 100) ? msec : 100);
msec -= 100;
}
}
}
catch (WebException ex)
{
System.Diagnostics.Debug.WriteLine("=============: " + ex.Message);

Thread.Sleep(250);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("=============: " + ex.Message);
}
finally
{

if (req != null)
{
req.Abort();
req = null;
}

if (stream != null)
{
stream.Close();
stream = null;
}

if (resp != null)
{
resp.Close();
resp = null;
}
}



if (stopEvent.WaitOne(0, true))
break;
}
}
}

2 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
24 mars 2006 à 14:23
Ca telecharge une image

::|The S@ib|::
MVP C#.NET
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
24 mars 2006 à 14:24
depuis un site web securisé.

::|The S@ib|::
MVP C#.NET
0
Rejoignez-nous