Visual Studio 2002: C # зависает при отправке файла по TCP / IP - PullRequest
1 голос
/ 02 июня 2010

У меня есть фрагмент кода, куда я отправляю содержимое файла по каналу tcp / ip. Есть моменты, когда это соединение зависает , что приводит к зависанию всего приложения. Есть ли способ для моего основного потока порождать рабочий поток и контролировать этот рабочий поток. Если рабочий поток удастся, хорошо, хорошо. Если зависает , основной поток может записать сообщение об ошибке и продолжить. Как я могу смоделировать в моем тестовом коде, что рабочий поток висит . пожалуйста, дайте мне знать, как может выглядеть код. Я использую C # Visual Studio 2002.

1 Ответ

3 голосов
/ 02 июня 2010

Конечно, это возможно.

Либо вы реализуете потоки вручную, используя класс BackgroudWorker или Thread, либо (в вашем случае даже проще) вы используете асинхронные методы для отправки вашего контента.

Все связанные с сетью классы содержат асинхронные методы для своих операций. Ищите методы, которые содержат Async или Begin ...

А симуляция мертвой нити проста. Просто сделайте бесконечный цикл:

while (true)
     System.Threading.Thread.Sleep (10);
...