I have client-server application in C#.Net and for that I am using Tcp Socket. I have used following function to aggressive close of socket object.

```
void CloseSocket(Socket socket)
{
      if(socket != null)
      {
           socket.ShutDown(ocketShutdown.Both);
           socket.Close();
      } 
}

```

In Normal Condition this function works perfectly and my method returns with 0 bytes returned from Read function.

**But whenever client process terminated by taskmanager server program blocks into read function of network stream.**

How can I workaround this read blocking function ? I don't want to use AsyncRead function because whole project uses blocking strategy so write now I can't change it to Async pattern.

Thanks, in advance.