多线程客户端和服务端文件传输

易语言 2020-07-15 17:15:34

.如果真 (文件是否存在 (取运行目录 () + “\date”) = 假)
创建目录 (“date”)
信息框 (“目录不存在,已经创建”, 0, )
.如果真结束
服务器.置线程池大小 (1, 20)
服务器.启动 (12730, &处理函数, 假)
时钟2.时钟周期 = 60000 ' 每分钟向所有的客户发送一次刷新指令。

.计次循环首 (列表框1.取项目数 (), n)
.如果 (定时刷新 (到整数 (客户句柄数组 [n])))
列表框1.置项目文本 (n - 1, “☆” + 列表框1.取项目文本 (n - 1) + “ :发送刷新信息成功!”)
.否则
列表框1.置项目文本 (n - 1, “◆” + 列表框1.取项目文本 (n - 1) + “ :发送刷新信息错误!”)
.如果结束

.计次循环尾 ()
时钟2.时钟周期 = 0 ' 发送刷新信息后,显示刷新结果半分钟。此时将时钟停止计时;
延迟 (30000)
列表框1.清空 () ' 将列表清空后,重新加入在线的客户。但是这样的做法可能会有问题。
.计次循环首 (取数组成员数 (客户句柄数组), l)
服务器.取客户IP (到整数 (客户句柄数组 [l]), 客户ip)
列表框1.加入项目 (客户ip, )
.计次循环尾 ()
时钟2.时钟周期 = 60000 ' 重新启动时钟。所以加上时钟的周期和延迟,一共是每隔一分半钟,发送一次刷新信息。