title image


Smiley Re: Wie feststellen, ob ein NetworkStream von der Gegenseite geschlossen wu
Seltsam. Bei mir funktionert folgendes Beispiel (2 verschiedene Windows-Forms-Apps):

Empfänger

private void btnReceive_Click(object sender, System.EventArgs e)

{

TcpListener r = new TcpListener(System.Net.IPAddress.Any,4711);

r.Start();

TcpClient s = r.AcceptTcpClient();

NetworkStream stm = s.GetStream();



while (true)

{

Byte[] buff;

buff = new byte[1024];

int i = stm.Read(buff,0,buff.Length);

System.Diagnostics.Debug.WriteLine("gelesen: " + i);

if (i == 0)

{

MessageBox.Show("Anzahl gelesen gleich null");

break;

}

}

System.Diagnostics.Debug.WriteLine("Schleifenende");

stm.Close();

s.Close();

r.Stop();

}



Sender

private void btnSend_Click(object sender, System.EventArgs e)

{

TcpClient s;

s = new TcpClient();

s.Connect(System.Net.IPAddress.Loopback,4711);

NetworkStream stm = s.GetStream();

System.IO.StreamWriter sw = new System.IO.StreamWriter(stm);

sw.WriteLine("Hallo");

sw.Flush();

stm.Close();

s.Close();

}



Die Messagebox im Empfänger, dass Null Bytes empfangen wurden, wird ausgegeben, wenn der Sender-Stream geschlossen wird.

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: