public static void StartListeningTcp()
{
TcpThreadListener listener = new TcpThreadListener(0);
NetworkStream ns = null;
StreamReader sr = null;
try
{
listener.Start();
IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
Interlocked.Exchange(ref iPortNumber, ipe.Port);
Console.WriteLine("Using port: {0}", iPortNumber);
m_PortSetEvent.Set();
Socket s = listener.AcceptSocket();
ns = new NetworkStream(s);
sr = new StreamReader(ns);
ns.Close();
try
{
sr.Read();
iCountErrors++;
Console.WriteLine( "Error_0000! Expected exception not thrown");
}
catch (ObjectDisposedException iexc)
{
Console.WriteLine( "INFO !!!!! Caught expected exception, exc=="+iexc.Message + "You are right man");
}
catch (Exception exc)
{
iCountErrors++;
Console.WriteLine( "Error_5555! Incorrect exception thrown, exc=="+exc.ToString());
}
Console.WriteLine("We are done with the listening");
}
catch(Exception e)
{
iCountErrors++ ;
Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
m_PortSetEvent.Set();
}
finally
{
if (listener != null)
{
listener.Stop();
}
if (ns != null)
{
ns.Close();
}
if(sr != null)
{
sr.Close();
}
} //finally
}
internal class TcpThreadListener : TcpListener