书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 281|回复: 0

【异步(asy)】

[复制链接]

451

主题

474

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581710
发表于 2024-7-30 16:59:37|字数:2,130 | 显示全部楼层 |阅读模式
异步处理的主要目的是解决以下几个问题

①:接口处理时间过长
在同步处理中,请求客户端与服务器是一直保持连接的,时间太长就会出现断开的风险,同时等待请求结果本身不仅仅会消耗请求端的的内存,还会消耗服务器的内存

②:回复数据过大
当回复的数据过大的时候,使用同步可能是不安全的。一旦请求端数据接收失败会比较麻烦,同步操作只能获取一次回复的数据,异步操作可以无限次

实现原理:
  
子程序名返回值类型公开备 注
test_asy文本型异步功能测试
参数名类 型参考可空数组备 注
get数据文本型   
post数据文本型   
ip文本型   
传递序号整数型   
请求序号整数型   
模块数据文本型   
eweb_异步_启动 (模块数据)  ' 执行这一条代码后请求客户端将收到“异步码”,请求端凭借“异步码”使用异步数据接口可获得下方回复的“异步数据”
' ' ————————————————————————————
' ' 这里可以执行你的代码,不限时间
' ' ————————————————————————————
eweb_异步_回复文本数据 (模块数据, “12345”)
返回 (“666”)  ' 上方已经使用了回复功能,返回的内容仅显示到接收日志的响应结果,不会回复给请求端



执行eweb_异步_启动()后,请求的客户端将会收到一条长度为32位的异步码,这个时候的请求端与服务器已经断开,请求端需要重新发起http请求来获得异步回复的数据

获取异步数据的方法:
获得异步数据地址,这一步与文本接口的方法一样,需要进行拼接

假设:
请求地址:http://127.0.0.1
复制的异步数据地址:0E038D80DA77E183
返回的异步码:73a834dc4c9480e3f5c226d8f6f9fa5d

那么完整请求格式为:
http://127.0.0.1/0E038D80DA77E183?73a834dc4c9480e3f5c226d8f6f9fa5d
(注意完整请求地址中的?整请,请求方式推荐为post

————————————————————————————————

重点:
①:当接口被调用的时候,仅第一次回复有效(包括字节集回复),不要多次回复
  
子程序名返回值类型公开备 注
test_asy文本型异步功能测试
参数名类 型参考可空数组备 注
get数据文本型   
post数据文本型   
ip文本型   
传递序号整数型   
请求序号整数型   
模块数据文本型   
eweb_异步_启动 (模块数据)  ' 执行这一条代码后请求客户端将收到“异步码”,请求端凭借“异步码”使用异步数据接口可获得下方回复的“异步数据”
' ' ————————————————————————————
' ' 这里可以执行你的代码,不限时间
' ' ————————————————————————————
eweb_异步_回复文本数据 (模块数据, “12345”)  ' 有效回复
eweb_异步_回复文本数据 (模块数据, “6789”)  ' 无效回复,仅第一次回复有效
返回 (“666”)  ' 上方已经使用了回复功能,返回的内容仅显示到接收日志的响应结果,不会回复给请求端



②:异步操作和同步操作不要同时使用
因为只能回复客户一次,所以只有第一次回复的才是有效的


③:异步回复需要先执行异步启动

module.dll
1:【eweb_异步_启动】(dll:eweb_asy_sttart)

2:【eweb_异步_回复字节集数据1】(dll:eweb_asy_replyb1)

3:【eweb_异步_回复字节集数据2】(dll:eweb_asy_replyb2)

4: 【eweb_异步_回复字节集数据3】(dll:无,仅易语言用户可用)

点击返回: 【EWEB总览】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-11-21 17:44 , Processed in 0.090564 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表