【发布时间】:2011-10-25 22:40:28
【问题描述】:
ftp server and client (C windows) 使用 UDP 套接字。
服务器使用CFtpConnection::PutFile将文件放到客户端
一个大文件需要几分钟,所以客户端需要能够取消PutFile()。
如果 PutFile() 正忙于传输数据,我如何检查取消 udp 消息?创建另一个线程....?
感谢任何正确方向的建议,谢谢。
【问题讨论】:
ftp server and client (C windows) 使用 UDP 套接字。
服务器使用CFtpConnection::PutFile将文件放到客户端
一个大文件需要几分钟,所以客户端需要能够取消PutFile()。
如果 PutFile() 正忙于传输数据,我如何检查取消 udp 消息?创建另一个线程....?
感谢任何正确方向的建议,谢谢。
【问题讨论】:
由于您需要对传输过程进行一定程度的控制,因此您不能采用 PutFile 的高级方法,您必须扮演更直接的角色。
用CFtpConnection::OpenFile打开远程文件进行写入,它会给你一个CInternetFile*。然后您将自己使用CInternetFile::Write 写入数据;这也可以让您随时选择停止发送数据并关闭连接。
WinInet 文档的这一页提到了一个 HOWTO 和 MS 知识库中的一个示例,这可能是一个很好的实现。
【讨论】: