Winhttp对象同步和异步的区别

易语言 2020-07-10 08:00:42

Winhttp对象同步和异步的区别

具体的在源码中已经有了注释,这里只是多写一点来让帖子显得高大上
同步和异步的设置是在“Open”方法中,
对象.方法 ("Open",Method,Url,Async),最后一个参数真为异步,假为同步。

同步模式 异步模式
同步方法最显而易见的就是会阻塞线程,(卡界面的根源)。 异步方法不会阻塞线程,所以也就不会卡界面。
对于超时,同步中支持4中超时,分别是DNS解析,Connect(连接),Send发送,和接受,4种可以分别设置超时① 只有一种超时,那就是等待,如果在设置的时间内没有数据,那么就是超时。
~ 异步最重要的是支持“CallBack”或者说是“Event” ,但是很可惜,易语言的对象不支持这个。②
其实应该是可以实现的,但是方法特别繁琐. 过些时候我会写一个winhttpAPI的例程来演示异步的回调(CallBack)调用.