Disconnect bei TcpClient

22/07/2008 - 16:01 von Karl M. | Report spam
Hallo NG!

Ich bin gerade an der TcpClient-Klasse und tüftel ihre Möglichkeiten etwas
aus. Mich interessiert, wie ich mich nach einer bestehenden Verbindung wieder
ordnungsgemàß disconnecten kann. Um sich zu Connecten, muss man ja lediglich
eine Instanz davon erzeugen:

TcpClient Client = new TcpClient(Host, Port);

Auf der Server-Seite muss sich ein wartender TcpClient befinden:

TcpClient client = server.AcceptTcpClient();

Habe ich die Verbindung estabilished, dann wartet der Server in meinem
Projekt auf Text des Clients beim Stream-Read:

TcpClient client = server.AcceptTcpClient();
NetworkStream stream = client.GetStream();
Int32 i;
while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
{
...

Nun, wenn ich die Verbindung beim Client nun schließe, schmiert mir der
Server beim Stream-Read ab. Das finde ich nicht besonders elegant. Gibt es da
einen konventionellen Weg sich zu disconnecten bei der TcpClient-Klasse?

Mit freundlichen Grüßen
 

Lesen sie die antworten

#1 Thomas Scheidegger
22/07/2008 - 16:10 | Warnen spam
Hallo Karl

schmiert mir der Server beim Stream-Read ab



Exception = ?


Weg sich zu disconnecten bei der TcpClient-Klasse?



theoretisch:
Socket.Shutdown
(via TcpClient.Client)



Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen