Visual Studio 2002:通过TCP / IP发送文件时C#冻结

时间:2010-06-02 16:32:25

标签: c# multithreading tcp-ip worker visual-studio-2002

我有一段代码,我通过tcp / ip频道发送文件内容。有时此连接挂起导致整个应用程序冻结。有没有办法让我的主线程产生一个工作线程并监视该工作线程。如果工作线程成功,那就好了。如果挂起,主线程可以记录错误消息并继续。如何在我的测试代码中模拟工作线程挂起。请告诉我代码的样子。我正在使用C#Visual studio 2002。

1 个答案:

答案 0 :(得分:3)

当然这是可能的。

您可以使用BackgroudWorker或Thread类手动实现线程,或者(在您的情况下甚至更简单)使用异步方法来发送内容。

所有与网络相关的类都包含用于其操作的异步方法。查找包含AsyncBegin ...

的方法

模拟死线很简单。只需做一个无限循环:

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