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

发布于 2024-09-03 12:48:14 字数 208 浏览 9 评论 0原文

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

I have a piece of code where I send a file content over tcp/ip channel. There are times when this connection hangs causing entire application to freeze. Is there a way for my main thread to spawn a worker thread and monitor that worker thread. If worker thread succeeds, well and good. If it hangs , the main thread could log error message and continue. How can I simulate in my test code that a worker thread is hanging. please let me know what could the code look like. I am using C# Visual studio 2002.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

咆哮 2024-09-10 12:48:14

这当然是可能的。

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

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

并且模拟死线程很简单。只是做一个无限循环:

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

Surely this is possible.

Either you implement threading manually using the BackgroudWorker or Thread class or (in your case even simpler) you use the asynchroneous methods for sending your content.

All the network related classes contain asynchroneous methods for their operations. Look for the methods that contain Async or Begin...

And simulating a dead thread is simple. Just make an endless loop:

while (true)
     System.Threading.Thread.Sleep (10);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文