同步操作将从 赵建辉/evmongoose 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Evmongoose是一个异步的、基于事件框架(libev)的集成多种协议的嵌入式网络库,包括:TCP、HTTP、WebSocket、MQTT等等。 它基于mongoose和libev实现,并且支持Lua API。
Evmongoose支持高度的可定制化来扩展你的应用程序。在开始这个项目之前,我一直都没有找到一个令我满意的基于事件框架的HTTP服务器库。那些HTTP 服务器库只能loop它自己的对象,不能添加我自己的对象。比如我想基于事件框架监视某个信号(比如SIGINT)或者某个文件。
新特性
继承自mongoose
libev-dev libssl-dev lua5.1 liblua5.1-0-dev lua-zlib
sudo apt install libev-dev libssl-dev lua5.1 liblua5.1-0-dev lua-zlib
lua-ev
git clone https://github.com/brimworks/lua-ev.git
cd lua-ev
cmake . -DINSTALL_CMOD=$(lua -e "for k in string.gmatch(package.cpath .. \";\", \"([^;]+)/..so;\") do if k:sub(1,1) == \"/\" then print(k) break end end")
make && sudo make install
git clone https://github.com/zhaojh329/evmongoose.git
cd evmongoose
mkdir build
cd build
cmake ../
make && sudo make install
git clone https://github.com/zhaojh329/evmongoose.git
cd evmongoose
mkdir build
cd build
cmake ../ -DHTTPS_SUPPORT=OFF
make && sudo make install
git clone https://github.com/zhaojh329/lua-ev-openwrt.git
cp -r lua-ev-openwrt openwrt_dir/package/lua-ev
git clone https://github.com/zhaojh329/evmongoose.git
cp -r evmongoose/openwrt openwrt_dir/package/evmongoose
cd openwrt_dir
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
Libraries --->
Networking --->
<*> evmongoose
Configuration --->
SSl (mbedtls) --->
make package/evmongoose/compile V=s
git clone https://github.com/kindy/libev.git
cd libev/src
sh ./autogen.sh
# 配置交叉编译器执行环境
export PATH=/home/zjh/lede/staging_dir/toolchain-mipsel_24kc_gcc-5.4.0_musl/bin:$PATH
./configure --host=mipsel-openwrt-linux --prefix=`pwd`/obj
make && make install
git clone https://github.com/brimworks/lua-ev.git
cd lua-ev
# 配置交叉编译器执行环境
export PATH=/home/zjh/lede/staging_dir/toolchain-mipsel_24kc_gcc-5.4.0_musl/bin:$PATH
# 其中xxxxx代码你的交叉编译器的跟目录
cmake . -DCMAKE_C_COMPILER=mipsel-openwrt-linux-gcc -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=xxxxx
make
git clone https://github.com/zhaojh329/evmongoose.git
cd evmongoose
# 配置交叉编译器执行环境
export PATH=/home/zjh/lede/staging_dir/toolchain-mipsel_24kc_gcc-5.4.0_musl/bin:$PATH
# 其中xxxxx代码你的交叉编译器的跟目录
cmake . -DCMAKE_C_COMPILER=mipsel-openwrt-linux-gcc -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=xxxxx
make
Evmongoose并没有改变mongoose和libev的API用法,所以请参考 mongoose 和libev的API参考手册。只有一点需要注意,使用evmongoose时不再调用mg_mgr_poll。
另外,evmongoose新增了一个API:mg_mgr_set_loop,用于给mgr设置libev的loop,如果没有显示调用 该函数,mgr将使用默认loop:EV_DEFAULT。
Evmongoose使用github托管其源代码,贡献代码使用github的PR(Pull Request)的流程,十分的强大与便利:
git clone https://github.com/$userid/evmongoose.git
QQ群:153530783
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。