加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 不死鸟之翼 于 2015-5-17 12:39 编辑
当前版本:Version 0.2 (26KB)
https://azurefx.name/article/win ... %bf%a1%e5%ba%93dll/
这个动态链接库是为方便RGSS中进行常见HTTP通信而设计的,支持多连接并发。一共导出了6个函数。
DWORD WINAPI Create(LPCSTR server,LPCSTR action,LPCSTR method,LPCSTR data); DWORD WINAPI CreateEx(LPCSTR server,LPCSTR action,LPCSTR method,LPCSTR data,LPCSTR ctype,LPCSTR ua); INT WINAPI Query(DWORD token); INT WINAPI QueryEx(DWORD token,LPDWORD bytesTotal,LPDWORD bytesLoaded); INT WINAPI Retrieve(DWORD token,LPVOID buffer); BOOL WINAPI Close(DWORD token);
DWORD WINAPI Create(LPCSTR server,LPCSTR action,LPCSTR method,LPCSTR data);
DWORD WINAPI CreateEx(LPCSTR server,LPCSTR action,LPCSTR method,LPCSTR data,LPCSTR ctype,LPCSTR ua);
INT WINAPI Query(DWORD token);
INT WINAPI QueryEx(DWORD token,LPDWORD bytesTotal,LPDWORD bytesLoaded);
INT WINAPI Retrieve(DWORD token,LPVOID buffer);
BOOL WINAPI Close(DWORD token);
Create
开始一个HTTP请求。server为主机名,action为请求的资源,method为请求类型,data为附加数据。
函数会返回一个token代表这个请求,请保存以便后续使用。
例如Create(“www.baidu.com”,”s?wd=Hello,World!”,”GET”,””);
更多示例请参见另一篇文章
CreateEx
其他参数同Create。ctype为HTTP请求头中的Content-type,ua为浏览器标识。
Query
查询指定请求的状态。返回值可能如下:
INVALID=0
SUCCESS=1
FAILURE=2
PENDING=3
PROGRESS=4
INVALID代表无效的token,SUCCESS代表成功,FAILURE代表失败,PENDING代表请求等待回应,PROGRESS表示正在下载数据。
QueryEx
其他参数同Query。bytesTotal和bytesLoaded分别为接收总大小和已下载大小的变量指针。若无法获取总大小,bytesTotal的值为0xFFFFFFFF。
Retrieve
获取返回的数据。buffer为接收数据的缓冲区。
仅当请求状态为SUCCESS时调用这个函数。如果buffer为0则返回缓冲区所需的长度。
返回值为已接收的数据长度。
Close
关闭一个请求,释放资源。一个请求完成时务必调用这个函数。
返回值为零表示失败,非零表示成功。
所有函数均为__stdcall调用约定。
类型注释:
DWORD 32位无符号整数(l)
INT 32位整数(i)
BOOL 32位整数(i)
LPCSTR C风格字符串的指针(p)
LPDWORD 32位无符号整数的指针(p)
LPVOID 缓冲区指针(p)
|