M
MuZZy
HI,
As i posted below i have an app with a separate thread listening for a tcp client connection.
In the simplest way it looks like:
void ListenerThreadFunction()
{
TcpListener l = new TcpListener(IpAddress.Parse("127.0.0.1"), 8080);
l.Start();
Socket client = l.AcceptSocket();
client.close;
l.Stop();
}
This function is invoked from Form1_Load event of the main form:
Thread MyThread = null;
void Form1_Load(...)
{
...
MyThread = new Thread(new ThreadStarter(ListenerThreadFunction));
MyThread.Start();
}
Now, i'm trying to stop the thread if the app is closing:
void Form1_Closing(...)
{
...
if ((MyThread!=null) && MyThread.isAlive)
MyThread.Abort();
}
But it doesn't work - though main form is closed, i still see that the app proccess is alive in IDE.
MSDN says that Abort throws an exception to the thread, but it never gets there...
All of described happens of course if server didn't get a connection and the thread is alive.
I'm not that good with threads and think that i misuse the concept somehow...
Any suggestions would be highly appreciated!!!
Thank you in advance!
Andrey
As i posted below i have an app with a separate thread listening for a tcp client connection.
In the simplest way it looks like:
void ListenerThreadFunction()
{
TcpListener l = new TcpListener(IpAddress.Parse("127.0.0.1"), 8080);
l.Start();
Socket client = l.AcceptSocket();
client.close;
l.Stop();
}
This function is invoked from Form1_Load event of the main form:
Thread MyThread = null;
void Form1_Load(...)
{
...
MyThread = new Thread(new ThreadStarter(ListenerThreadFunction));
MyThread.Start();
}
Now, i'm trying to stop the thread if the app is closing:
void Form1_Closing(...)
{
...
if ((MyThread!=null) && MyThread.isAlive)
MyThread.Abort();
}
But it doesn't work - though main form is closed, i still see that the app proccess is alive in IDE.
MSDN says that Abort throws an exception to the thread, but it never gets there...
All of described happens of course if server didn't get a connection and the thread is alive.
I'm not that good with threads and think that i misuse the concept somehow...
Any suggestions would be highly appreciated!!!
Thank you in advance!
Andrey