When using tcpclient for writing to socket as in example below
Server:
tcpListener.Start(PendingClientCount);
tcpListener.BeginAcceptTcpClient(OnAcceptCompleted, null);
////and more code
Client:
var client = new TcpClient();
client.Connect(new IPEndPoint(IPAddress.Loopback, 50000));
var clientStream = client.GetStream();
if (clientStream.CanWrite)
{
clientStream.Write(preparedPackage, 0, preparedPackage.Length);
}
clientStream.Close();
client.Close();
It turns out then after closing of server by calling tcpListener.Close() and Dispose() I can write bytes to network stream, and they go to "nowhere". After passing certain time interval (approx. 2 minutes) attempt ti network stream fails (at last).
Is there any possibility to detect that nobody listens to socket on opposite side when trying to write to it?