我有一个文件传输应用程序在FTP服务器之间移动文件.任何时候我们都可以在移动中拥有数十个文件.为了防止泛滥FTP服务器,我有一个监视器和信号量锁系统.
我的FTP客户端经常根据调用堆栈冻结在System.Net.Sockets.Socket.Receive()内的某个地方.我没有得到例外,所以无法解决问题.我想取消该线程,因为它阻止了其他想要使用FTP客户端的线程.
我已经考虑启动最终在新线程中调用System.Net.Sockets.Socket.Receive()并在一段时间后中止线程的方法,但我担心在线程中止后套接字将保持打开状态.在没有响应的线程之后,有更优雅的方法来杀死和清理吗?
| 归档时间: |
|
| 查看次数: |
877 次 |
| 最近记录: |