AsHttp-Win32异步HTTP通信库(DLL)

这是一个为方便进行简单HTTP通信而实现的库,使用标准的C风格(Windows API)接口,尤其适合RPG Maker XP/VX/VA等环境。
AsHttp支持异步操作和多请求并发。

对于非商业项目自由使用。

版本:0.3
最后更新:2017/12/9
下载地址:点我

更新历史
0.3
增加获取响应的HTTP头部的接口
优化部分接口的名称和参数
增加重定向开关
修复Windows XP系统下崩溃的问题
修复超过线程上限时崩溃的问题

头文件和lib文件已随附。部分定义参见Windows.h头文件定义。

配套的Ruby(RGSS)使用方法

Ruby使用方法可自行搜索Project 1论坛(原66RPG)

AlgoCube图形化程序开发环境

以后本站作为该项目的主页。:)

版本号
0.8.5.0
发布时间
20:00 2014/12/20

更新说明
IDE多处细节改进

点击下载
AlgoCube图形化程序开发环境是我在高中业余时间开发的一款面向学生的、适合程序设计入门和算法教学入门的解决方案。整个环境完全轻量化,不需要复杂的配置,随装随用。

AlgoCube采用算法框图的样式实现程序流程。内置语言称为AlgoLang,编译为字节码后由虚拟机执行,具有小巧、跨平台的优点。也可以直接编译为Windows平台下的EXE应用,脱离虚拟机环境运行。语法设计的目标是尽可能地减少底层操作,降低学习难度。
例如,从键盘读取任意长度数字输入,并从小到大排序输出的程序如下

AlgoCube的程序是写在一个个模块中的,各个模块之间用鼠标画线相连。程序编写中的大多数操作在随附的IDE中可以直接完成。目前的版本也包含了调试器、反汇编器等面向高级用户的组件。
AlgoCube同时也支持针对特定平台的操作,例如在Windows上可以调用DLL中的函数。

我个人的技术实力有限,不过我希望这个项目能够得到大家的认可。我希望更多的人可以接触到程序设计,更多地了解信息技术。

适用于RPGMaker等程序的http非阻塞网络通信模块

应朋友的要求随手写的一个小程序,封装了基于WinInet系列API实现的HTTP协议,可以较为简单地实现RM的异步网络通信功能。
该模块主要解决了在RM中直接调用网络相关API的“10秒杀”问题。为了更易于使用,放弃了Win32中的IPC机制,改用命令行或者文件进行通信。

当前版本:Version 0.3 (201KB)
更新命令行直接文件下载功能。
点击下载

使用方法如下

★用法1:命令行简易模式
直接用参数启动程序就可以完成将文件下载到指定路径。
“RMHttpDelegate.exe SourceURL DestiniationPath”
其中SourceURL为源URL地址,DestinationPath为保存文件路径
例如
“RMHttpDelegate.exe http://www.baidu.com PageSource.txt”

★用法2:后台服务模式
工程启动时执行此模块,参数传入RM自身进程的PID。如”RMHttpDelegate.exe 1234″
推荐在RM工程启动时调用,将始终在后台保持运行状态,RM退出后自动清理资源并退出。内存占用在600KB左右,可以多开游戏而不会相互干扰。
RM需要进行网络通信时,首先获得Temp文件夹的目录,可用GetTempPath API或者%TEMP%环境变量。
在Temp目录创建一个文件RM_HTTP_REQUEST_XXXX,其中XXXX为RM的PID,编码为ANSI
文件总共含4行,分别为Server,Action,Method,Data。Server为服务器地址,Action为请求目标,Method为HTTP请求类型,Data为附加数据(这行可以省略)

示例1:HTTP GET

www.yourserver.com
game/submit.php?score=100
GET

示例2:HTTP POST

www.yourserver.com
game/submit.php
POST
score=100

示例3:获取百度搜索结果的网页源代码

www.baidu.com
s?wd=Hello,World
GET

RM_HTTP_REQUEST_XXXX文件会在请求收到后自动删除,并在原地生成一个RM_HTTP_RESULT_XXXX文件,其内容为Success或者Failure,分别代表成功或失败。如果成功,则还会生成另一个RM_HTTP_CONTENT_XXXX,其内容为获取到的数据。如遇到网络问题导致失败,请在游戏内提示用户并重试。RM_HTTP_REQUEST_XXXX推荐在读取内容后删除。
当游戏进程退出后此模块会一并退出,并自动删除相关的临时文件。
提示:使用GET方法时请不要填写第四行Data。
RGSS使用代码参考如下(来自66RPG论坛)

然后可以这样