Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   C# Seltsames Phänomen beim Senden von Daten (https://www.delphipraxis.net/125741-seltsames-phaenomen-beim-senden-von-daten.html)

Neutral General 10. Dez 2008 23:29


Seltsames Phänomen beim Senden von Daten
 
Hi,

Ich sende gerade mit einem C# Socket folgendermaßen Daten:

Code:
void Button1Click(object sender, EventArgs e)
{   
  srv.Bind(new IPEndPoint(IPAddress.Any,7));
  srv.Listen(5);

  Socket client = srv.Accept();

  byte[] buff = {0x48,0x61,0x6C,0x6C,0x6F,0x20};            
  client.Send(buff,buff.Length,SocketFlags.None);   
  byte[] buff2 = {0x43,0x68,0x69,0x6E,0x61};
  client.Send(buff2,buff2.Length,SocketFlags.None);   

  client.Shutdown(SocketShutdown.Both);
  client.Close();
}
Jetzt dachte ich mir: Machen wir das ganze noch schöner indem ich en try-finally block drumsetze:

Code:
void Button1Click(object sender, EventArgs e)
{   
  srv.Bind(new IPEndPoint(IPAddress.Any,7));
  srv.Listen(5);

  Socket client = srv.Accept();
  try
  {
    byte[] buff = {0x48,0x61,0x6C,0x6C,0x6F,0x20};            
    client.Send(buff,buff.Length,SocketFlags.None);   
    byte[] buff2 = {0x43,0x68,0x69,0x6E,0x61};
    client.Send(buff2,buff2.Length,SocketFlags.None);   
  }
  finally
  {
    client.Shutdown(SocketShutdown.Both);
    client.Close();
  }
}
Und was geschieht? buff kommt nichtmehr beim Client an! buff2 schon. Folgendes funktioniert allerdings:

Code:
void Button1Click(object sender, EventArgs e)
{   
  srv.Bind(new IPEndPoint(IPAddress.Any,7));
  srv.Listen(5);

  Socket client = srv.Accept();
  try
  {
    byte[] buff = {0x48,0x61,0x6C,0x6C,0x6F,0x20};
    byte[] buff2 = {0x43,0x68,0x69,0x6E,0x61};            
    client.Send(buff,buff.Length,SocketFlags.None);      
    client.Send(buff2,buff2.Length,SocketFlags.None);   
  }
  finally
  {
    client.Shutdown(SocketShutdown.Both);
    client.Close();
  }
}
Und wenn ich buff und buff2 vor dem try-finally block deklariere, dann gehts auch.

Gibts dafür eine Erklärung?

Gruß
Neutral General

Neutral General 11. Dez 2008 16:53

Re: Seltsames Phänomen beim Senden von Daten
 
Sind zwar nicht ganz 24 Stunden um aber wenn ich um 0 Uhr pushe siehts ja wieder keiner :mrgreen:

Hat niemand ne Idee?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz