一个工作者线程在PutFile()时阻塞了,不能继续下去,有什么方法可以结束这个线程呀 用VC6写的,一个工作者线程在PutFile()时阻塞了,不能继续下去,有什么方法可以结束这个线程呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PutFile是一个阻塞操作,不能被控制,应该使用FtpOpenFile/InternetWriteFile来操作,这是循环操作,中间可以检测线程控制信号以方便退出 putfile不行 阻塞要想中止线程 直接中止就行了 怎样中止呢?用TerminateThread之类的不行FtpOpenFile/InternetWriteFile是怎么用的,如果服务器上没目标文件,怎么上传呢? 不要使用TerminateThread来终止线程,应该由主线程来设置一个事件为信号状态,上传线程通过WaitFor...检测该事件的信号状态来判断是否退出。主线程:// HANDLE hStopEvent = CreateEvent(...);// HANDLE hThread = CreateThread(...);SetEvent(hStopEvent); // 设置信号状态WaitForSingleObject(hThread, INFINITE); // 等待线程退出上传线程:while (TRUE){ if (WAIT_OBJECT_0 == WaitForSingleObject(hStopEvent, 1)) // 检测事件信号状态 break; ... // 执行上传操作,每次只上传一部分(比如512字节)} 请问如何 每次只上传一部分是不是要用FtpOpenFile/InternetWriteFile,请问是怎样用的,能提供例子给我吗?用putfile可不可做到呢 PutFile是一次性传完整个文件,中间得不到机会检测事件信号,所以被阻塞而无法及时退出。一次上传一部分是依靠InternetWriteFile来完成的,它的参数中会指明传递多少字节的数据出去,下一次循环传递下一部分数据 能不能给我个例程呀,我没用过FtpOpenFile/InternetWriteFile,拜托啦,加加加加加加加加分 谁能帮帮忙呀 FtpOpenFile/InternetWriteFile FtpOpenFile好像只对HTTP有用吧。楼主好好看下msdn的FTP api。 CString 与 BSTR的转换问题 取指定进程信息的问题 如何得到combo box下拉框某一列的值??? ListBox中插入的内容设置成比较大一点的字体呀(急) 有关IE插件的开发与使用 如何用sendmessage() 动态连接库的问题 请问国内外有什么关于网络的著名杂志?大家推荐一下了。 VC++6.0有没有过时呀,现在学是不是落后时代了? **ppv是什么意思啊? 自己做的动态链接库放到别人的电脑需要注册吗 如何得到指定路径下的所有文件列表
FtpOpenFile/InternetWriteFile是怎么用的,如果服务器上没目标文件,怎么上传呢?
主线程:
// HANDLE hStopEvent = CreateEvent(...);
// HANDLE hThread = CreateThread(...);
SetEvent(hStopEvent); // 设置信号状态
WaitForSingleObject(hThread, INFINITE); // 等待线程退出上传线程:
while (TRUE)
{
if (WAIT_OBJECT_0 == WaitForSingleObject(hStopEvent, 1)) // 检测事件信号状态
break; ... // 执行上传操作,每次只上传一部分(比如512字节)
}
是不是要用FtpOpenFile/InternetWriteFile,请问是怎样用的,能提供例子给我吗?
用putfile可不可做到呢
一次上传一部分是依靠InternetWriteFile来完成的,它的参数中会指明传递多少字节的数据出去,下一次循环传递下一部分数据