有那么一陣,我在想,很多網絡 軟件 都是簡單的應用,如果能夠讓易語言支持JSON 那服務器就只需要簡單的WEB服務器了。但自己一點點處理服務器返回的文本 的確是累人的工作。而且開發(fā)效率不高。 和WEB服務器交互。如果沒有復雜的上傳工作 那就用 XmlHTTP之類的吧。設計要求還是有的。 首先易難為易的原則。一定要簡單易用。其次 要能 封裝 繼承?。
?
具體用法是:
操作的方法有:
打開
置請求頭
發(fā)送
撤消
取文本/字節(jié)集/JSON (根據(jù)需要獲取返回的數(shù)據(jù))
雜項方法:
取進度? ;0:未初始化 1:初始化(尚未發(fā)送) 2:發(fā)送數(shù)據(jù) 3:數(shù)據(jù)發(fā)送中 4:完成
取返回頭信息
取所有返回頭信息
返回狀態(tài)? ;200 成功 ....
?
還有一個事件:
狀態(tài)改變 如果要處理 而且是異步非回調模式。那就要覆蓋這個方法。進度改變事件會被映射到這個方法。
?
1、為了兼容各個版本。一直嘗試從 4.0開始創(chuàng)建
?
?
下面介紹下 狀態(tài)改變:
由于易語言不支持內聯(lián)匯編,我只好將匯編弄成機器碼后直接置入。
這段代碼的大致意思是:如果存在回調 就用回調方法。
至于繼承 如果 子類覆蓋了這個方法 本函數(shù)的代碼不會被執(zhí)行。如果沒有覆蓋。仍舊可以使用回調模式。
?
目前的缺陷是,不支持上傳文檔。
?
2、json支持庫開發(fā)。如何開發(fā)支持庫就不說了。
我封裝的是 JSON-c 它的設計思想還是不錯的。支持引用計數(shù),但用了才知道。它對 GB18030支持不好。甚至不支持GB2312.而易語言是GB18030的。沒辦法 只好在修改了下。在實際應用中又經歷了多達10次的升級。包括支持 單引號括起來的字符。支持一些不常用的轉義等。現(xiàn)在總算能完全滿足我的使用要求了。
?