私はユーザスレッドを開始するプログラムを持っていますが、そのスレッドではユーザ接続を待ちますが(ユーザが "E"を押すと)そのサーバスレッドを終了したいのに動作しません。私はそれをどのように行うことができ、私はそれを終了したいマルチスレッドを停止するサーバのスレッドをC#
this.server = new Thread(start);
server.Start();
:
private void start()
{
try
{
this.serverSocket = new TcpListener(8888); // creating the Server TCP socket
this.clientSocket = default(TcpClient); // creating the User socket variable
// starting the server
this.serverSocket.Start();
Console.WriteLine("->> server started"); // printing to log
// for always
while (true)
{
counter += 1; // new user
this.clientSocket = this.serverSocket.AcceptTcpClient(); // accepting user
Console.WriteLine(" ->> User connected"); // printing to log
// User creatinon
ConnectedUser user = new ConnectedUser(this.clientSocket);
user.startListerner();
}
this.clientSocket.Close();
this.serverSocket.Stop();
Console.WriteLine(" >> " + "exit");
Console.ReadLine();
}
catch
{
Console.WriteLine("Error launching the Server");
}
}
と私はそれを実行し、この方法:私はそれはサーバーのコードここ
'thread'.abort() - but it's freezing and not stopping the thread
を試してみましたか?
http://stackoverflow.com/questions/2251964/c-sharp-thread-termination-and-thread-abort – xxbbcc