| File | Date | Author | Commit |
|---|---|---|---|
| bin | 2025-02-13 |
|
[b57c6b] 2.0.1-20250213 |
| doc | 2025-02-13 |
|
[11af45] 2.0.1-20250213 |
| include | 2025-02-13 |
|
[9752ec] 2.0.1-20250213 |
| lib | 2025-02-13 |
|
[11af45] 2.0.1-20250213 |
| support | 2025-02-13 |
|
[b353a7] 2.0.1-20250213 |
| ChangeLog | 2025-02-13 |
|
[11af45] 2.0.1-20250213 |
| LICENSE | 2023-08-08 |
|
[bfce24] 1.5.0-20230808 |
| README.md | 2025-02-19 |
|
[067da0] 2.0.1-20250213 |
| README_EN.md | 2025-02-19 |
|
[067da0] 2.0.1-20250213 |
| sdk_v2.0.1-Msvc2013_20250213.zip | 2025-02-19 |
|
[067da0] 2.0.1-20250213 |
| sdk_v2.0.1-Msvc2019_20250213.zip | 2025-02-19 |
|
[067da0] 2.0.1-20250213 |
软件产品开发过程中经常碰到如下场景的问题:
[windows]基于消息驱动的SDK开发框架,提供日志、线程、管道、文件和网络等基础接口。
asynframe framework解决上面所提的软件产品开发过程中的六大问题:
功能特性:
开发优势:
| 模块 | 类型 | 功能 | 例子/程序 |
|---|---|---|---|
| asyncore | 框架 | asynframe framework | \support\testframe |
| 集成到MFC | \support\3rd\mfc\testnetserver \support\3rd\mfc\testnetclient_dlg \support\3rd\mfc\testnetclient_doc |
||
| 集成到DUI | source | ||
| 集成到SoUI | source | ||
| 集成到Qt6.7.3 | source | ||
| crashexplorer | 插件[asyncore] | 捕获当前进程的崩溃信息,同时生成dmp文件 | \support\testcrashexplorer |
| console | 插件[asyncore] | 命令控制台 1.支持加载/卸载IOsCommand插件:cmd/lua/sqlite 2.支持键盘/鼠标输入 |
\support\testconsole |
| asynfile | 插件[asyncore] | 文件 | \support\testfile_copy \support\testfile_copy-pipe |
| asynipcs | 插件[asyncore] | 进程间通讯 | \support\testipcclient \support\testipcserver |
| asynneta | 插件[asyncore] | 服务端代理 1.支持http/https代理:实现Basic/Digest认证 2.支持ftp/ftps代理 3.支持socks4.0/4.a/5.0代理 4.提供tcp/udp端口转发 |
aneta |
| asynsock | 插件[asyncore] | 网络 1.支持ipv6兼容ipv4 2.支持默认DNS 解析 |
\support\testnetclient \support\testnetserver pingx |
| dns | 插件[asynsock] | 域名解析 1.udp dns 2.tcp dns 3.httpDNS: 实现阿里云/腾迅云 |
\support\testdns |
| ftp | 插件[asynsock] | ftp 协议 | aftpx acurl |
| http | 插件[asynsock] | http协议 | ahttp acurl |
| rtsp | 插件[asynsock] | rtsp协议 1.支持rtsp over http |
\support\testnetclient_rtsp \support\testnetserver_rtsp |
| ssl | 插件[asynsock] | ssl/tls加/解密 1.支持p12证书 |
\support\testnetclient_ssl \support\testnetserver_ssl |
| proxy | 插件[asynsock] | 客户端代理 1.支持http/https代理:实现Basic/Digest认证 2.支持ftp/ftps代理 3.支持socks4.0/4.a/5.0代理 |
\support\testnetclient_proxy \support\testnetserver_socks |
| websocket | 插件[asynsock] | websocket协议 1.支持数据帧分片 2.优先发送控制帧 |
\support\testnetclient_websocket \support\testnetserver_websocket |
| zip | 插件 | 基于zlib1.3.1实现IDataTransmit接口 1.支持压缩zip文件 2.deflate/inflate数据 |
\support\testframe |
| sqlite | 插件 | 实现IOsComman接口[sqlite3.47.2] | \support\testframe |
| dtp | 插件[asynsock] | 实现tcp / udp端口复用的开发框架 | \support\testnetserver_dtp-tcp.port \support\testnetserver_dtp-udp.port |
| lua | 插件 | 实现IOsCommand接口的开发框架 | \support\testlua\testlua \support\testlua\testapi |
| jvmproxy | 插件 | 实现IOsCommand接口的开发框架 | \support\testjava\testjvm \support\testjava\testapi javax |
| python38/python312 | 插件 | 实现IOsCommand接口的开发框架 | \support\testpython\testpython \support\testpython\testapi |
| edgeproxy | 插件[asyncore] | 封装ICoreWebView2 | \support\testedgeproxy |
2025/02/13 发布windows平台的asynframe framework v2.0.1
发布插件: edgeproxy
支持动态加载log4cplus
2024/12/23 发布windows平台的asynframe framework v1.9.0
2024/11/11 发布windows平台的asynframe framework v1.8.1
2024/08/16 发布windows平台的asynframe framework v1.7.1
2024/07/12 发布windows平台的asynframe framework v1.6.1
2023/11/15 发布windows平台的asynframe framework v1.5.2
2023/03/31 发布windows平台的asynframe framework v1.4.6
2023/02/02 发布windows平台的asynframe framework v1.3.2
2022/06/08 发布windows平台的asynframe framework v1.2.0
2022/05/26 发布windows平台的asynframe framework v1.1.0
2022/05/05 发布windows平台的asynframe framework v1.0.0
sdk_v2.0.1-Msvc2019_20250213.zip是通过Microsoft Visual Studio 2019编译的SDK
sdk_v2.0.1-Msvc2013_20250213.zip是通过Microsoft Visual Studio 2013编译的SDK
int main(int argc, const char *argv[])
{
HRESULT ret = Initialize(NULL, NULL); //Initialize asynframe
if( ret != NO_ERROR )
{
return 1;
}
InstancesManager *lpInstancesManager = GetInstancesManager(); //Get the instance manager, which can get all interfaces
CComPtr<IAsynFrameThread> spAsynFrameThread; //Create thread
lpInstancesManager->NewInstance(0,0,IID_IAsynFrameThread, (void**)&spAsynFrameThread);
lpInstancesManager->Require(STRING_from_string(IN_AsynNetwork)); //Load network module
CComPtr<IAsynNetwork > spAsynNetwork;
lpInstancesManager->GetInstance(STRING_from_string(IN_AsynNetwork), IID_IAsynNetwork, (void **)&spAsynNetwork);
CComPtr<IAsynUdpSocket > spAsynUdpSocket; //Create UDP object
spAsynNetwork->CreateAsynTcpSocket(&spAsynTcpSocket );
spAsynUdpSocket->Bind(asynsdk::STRING_EX::null, 0, 0, NULL);
......
Destory(); //Destory asynframe
return 0;
}
接口定义
IAsynFrame
IAsynFileSystem
IAsynIpcChannel
IAsynNetwork
IAsynNetAgent
IConsole
IExceptionTrapper
INet
IProxy
ISsl
IScriptHost
IDtp
基础模块
asyncore
asynfile
asynipcs
asynsock
crashexplorer
网络模块
asynneta
dtp
dns
ftp
http
rtsp
proxy
ssl
websocket
扩展模块
console
lua
jvm
python
zip
sqlite
Log4cplus
Lua
Luatinker
Zlib
Sqlite
FFmpeg
Python
Copyright (c) 2012 - 2032, All rights reserved.
Author: Shengqian Yang, China, netsecsp@hotmail.com