void ReadCallback(IAsyncResult result)
{
int read = 0;
read = tcp.GetStream().EndRead(result);
if (read == 0)
{
//Connection has been closed.
tcp.GetStream().Close();
return;
}
// read recurse
tcp.GetStream().Flush();
tcp.GetStream().BeginRead(buffer, 0, buffer.Length, ReadCallback, null);
}