【奇怪】ftp下載相同文件的奇怪事件

jiakehuigui 2009-05-11 04:18:33
今天看到一個奇怪的問題,在一個ftp服務中下載相同的數據,并且開啟抓包工具發現,在第二次下載的時候,在抓取的數據包中并未發現傳輸的下載文件ftp中的文件名稱以及ftp-data數據。
請問哪位高人可以回答我這個問題呢?
...全文
134 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jiakehuigui 的回复:]
引用 2 楼 chris820313 的回复:

本地Cache的原因吧,你把第一次下载的文件删除,看看什么结果,如果居然还没有数据包过来,但是文件却下完了,那就是因为被本地缓存起来了。

我是試過吧文件都給徹底刪除后發現,還是沒有數據包;但是我包下載的文件的內容更改后上傳到ftp中再下載的話發現又有數據包傳了;所以charis說的文件被緩存起來應該是這樣回事。可是文件會被放在那里呢?

[/Quote]

鬼知道微软给你放在哪…………他们的东西也不开源……………………

  • 打赏
  • 举报
回复
我刚才搜索了一下,貌似用CFtpConnection造成的本地缓存问题不是一次两次,有人甚至在目标文件发生了变化的情况下仍然得到旧的文件,所以如果你用CFtpConnection的话就换个别的实现方法吧
或者使用
CInternetFile* OpenFile(
LPCTSTR pstrFileName,
DWORD dwAccess = GENERIC_READ,
DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY,
DWORD_PTR dwContext = 1
);
来得到一个CInternetFile类的指针,利用这个指针的Read函数来读文件,自己再去向本地写。

但是,我也不知道…………这个指针是不是也指向本地缓存…………………………

如果还不行,用SOCKET底层自己来吧,微软的东西向来是以不靠谱著称的……
jiakehuigui 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chris820313 的回复:]
本地Cache的原因吧,你把第一次下载的文件删除,看看什么结果,如果居然还没有数据包过来,但是文件却下完了,那就是因为被本地缓存起来了。
[/Quote]
我是試過吧文件都給徹底刪除后發現,還是沒有數據包;但是我包下載的文件的內容更改后上傳到ftp中再下載的話發現又有數據包傳了;所以charis說的文件被緩存起來應該是這樣回事。可是文件會被放在那里呢?
jiakehuigui 2009-05-11
  • 打赏
  • 举报
回复
非常感謝黑貓與chris的回答
這個問題我也是有想到,但是
你們所說本地緩存會把信息放在那里呢?
  • 打赏
  • 举报
回复
本地Cache的原因吧,你把第一次下载的文件删除,看看什么结果,如果居然还没有数据包过来,但是文件却下完了,那就是因为被本地缓存起来了。
blackcat242 2009-05-11
  • 打赏
  • 举报
回复
是不是你的ftp客户端缓冲了这些信息

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧