TcpClient: Herausfinden ob der Host die Verbindung getennt hat.
-
Hallo Leute,
ich verbinde mich miteinem Tcp/Ip host:
_tcpClient = new System.Net.Sockets.TcpClient(_ipAddress.ToString(), _port); _tcpReadStream = _tcpReadStream = _tcpClient.GetStream();
und warte in einem thread ob daten ankommen:
var asynResult = _tcpReadStream.BeginRead( receiveBuffer, 0, ReadBufferSize, null, null); //Block until data recveived if (asynResult.AsyncWaitHandle.WaitOne()) { int nRead = _tcpReadStream.EndRead(asynResult); if (nRead > 0) OnDataReceived(receiveBuffer.Take(nRead).ToArray()); }
wird allerdings die Verbindung vom Host getrennt, bekomm ich das nicht mit, bzw. der NetworkStream teilt mir das nicht mit!
Wie kann ich das bewerkstelligen?Ich könnte zyklisch Daten schicken (Heartbeat) , so bekomm ich mit ob die Verbinduing noch steht.. aber geht es auch anders?
Grüße
-
Mach mal ein
else if (nRead == 0)
dazu
-
genial;) danke, daran hab ich net gedacht..