Потоки Thread: Необработанное исключение типа "System.NullReferenceException" - C#
Формулировка задачи:
Такова проблема
Когда пытаюсь остановить поток
то выползает ошибка
Как с этим бороться?
thrListener = new Thread(KeepListening); thrListener.Start(); ... public void KeepListening() { while (ServRunning == true) { tcpClient = tlsClient.AcceptTcpClient(); // Create a new instance of Connection Connection newConnection = new Connection(tcpClient); } }
public void StopListening(int t) { ServRunning = false; thrListener.Abort(); }
Необработанное исключение типа "System.NullReferenceException"
Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта.
Решение задачи: «Потоки Thread: Необработанное исключение типа "System.NullReferenceException"»
textual
Листинг программы
while (ServRunning == true) { // сам цикл, всё, как положено try // и тут само изменение { tcpClient = tlsClient.AcceptTcpClient(); // эта гадость, которая мешает Connection newConnection = new Connection(tcpClient); // само принятие клиента (как и раньше) } // но если будет ошибка catch (SocketException e) // самого SocketException, так сказать { if ((e.SocketErrorCode == SocketError.Interrupted)) // спрашиваем, идёт ли ошибка на почве ошибки сокетов (то-есть блокирующего метода) { tcpClient = null; // тогда приравниваем его к null thrListener.Abort(); // и закрываем этот поток } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д