为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 网络相关源码 正文

易语言FTP超时处理源码

三叶资源网 2013-03-11 05:06:51 网络相关源码 1018 ℃ 0 评论

资源介绍:

易语言FTP超时处理源码,通过调用windowsAPI实现了FTP超时处理。

资源作者:

@易语言自学网

资源界面:

.版本 2
.支持库 EThread
.支持库 spec

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

置随机数种子 ()
标准输出 (, “START...”)
启动线程 (&demo, , )
标准输入 ()
API_FreeConsole ()  ' 64位没办法
返回 (0)  ' 可以根据您的需要返回任意数值

.子程序 demo
.局部变量 szHost, 文本型
.局部变量 szUser, 文本型
.局部变量 szPass, 文本型
.局部变量 szLocalFile, 文本型
.局部变量 szRemoteFile, 文本型
.局部变量 dwExitCode, 整数型
.局部变量 dwTimeout, 整数型
.局部变量 threadParam, PARM
.局部变量 hThread, 整数型
.局部变量 dwThreadId, 整数型
.局部变量 buff, 文本型

g_hOpen = 0
szHost = 到文本 (取随机数 (1, 255)) + “.” + 到文本 (取随机数 (1, 255)) + “.” + 到文本 (取随机数 (1, 255)) + “.” + 到文本 (取随机数 (1, 255))
调试输出 (szHost)
szUser = “Jiesoft”
szPass = “2012”
g_hOpen = API_InternetOpen (“FTP sample”, #INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0)
.如果真 (g_hOpen = 0)
    标准输出 (, #换行符 + “Error on InternetOpen: ” + 到文本 (API_GetLastError ()))
    标准输出 (, #换行符 + “END...”)
    返回 ()
.如果真结束
threadParam.pHost = szHost
threadParam.pUser = szUser
threadParam.pPass = szPass
hThread = API_CreateThread (0, 0, 到整数 (&WorkerFunction), 取变量数据地址 (threadParam), 0, dwThreadId)
dwTimeout = 5000
.如果真 (API_WaitForSingleObject (hThread, dwTimeout) = #WAIT_TIMEOUT)
    标准输出 (, #换行符 + “Can not connect to server in ” + 到文本 (dwTimeout) + “ milliseconds”)
    .如果真 (g_hOpen ≠ 0)
        API_InternetCloseHandle (g_hOpen)
    .如果真结束
    API_WaitForSingleObject (hThread, #INFINITE)
    标准输出 (, #换行符 + “Thread has exited”)
    标准输出 (, #换行符 + “END...”)
    返回 ()
.如果真结束
dwExitCode = 0
.如果真 (API_GetExitCodeThread (hThread, dwExitCode) = 0)
    标准输出 (, #换行符 + “Error on GetExitCodeThread: ” + 到文本 (API_GetLastError ()))
    标准输出 (, #换行符 + “END...”)
    返回 ()
.如果真结束
API_CloseHandle (hThread)
.如果真 (API_FtpGetFile (g_hConnect, szRemoteFile, szLocalFile, 0, #INTERNET_FLAG_RELOAD, #FTP_TRANSFER_TYPE_ASCII, 0) = 0)
    标准输出 (, #换行符 + “Error on FtpGetFile: ” + 到文本 (API_GetLastError ()))
.如果真结束
.如果真 (g_hConnect ≠ 0)
    API_InternetCloseHandle (g_hConnect)
.如果真结束
.如果真 (g_hOpen ≠ 0)
    API_InternetCloseHandle (g_hOpen)
.如果真结束
标准输出 (, #换行符 + “END...”)

.子程序 WorkerFunction, 整数型
.参数 vThreadParm, 整数型
.局部变量 pThreadParm, PARM
.局部变量 buff, 文本型

置入代码 ({ 139, 93, 8, 139, 3, 137, 69, 252 })
g_hConnect = API_InternetConnect (g_hOpen, pThreadParm.pHost, #INTERNET_INVALID_PORT_NUMBER, pThreadParm.pUser, pThreadParm.pPass, #INTERNET_SERVICE_FTP, 0, 0)
.如果真 (g_hConnect = 0)
    标准输出 (, #换行符 + “Error on InternetConnnect: ” + 到文本 (API_GetLastError ()))
    返回 (1)
.如果真结束
返回 (0)

资源下载:

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
ExUI图标列表框OEM信息微信hook照片墙64位进程JavaScript后台截图打印窗口图片拼接高级截图小说阅读器快手注册源码下载链接解析Excel拖放对象模块迅雷播放器引擎检测OD模块图片上传编码文件编码检测
最新评论