GoAhead 2.1.8嵌入式webserver源码分析学习(三)---main函数分析

本文详细分析了GoAhead 2.1.8在Linux环境下嵌入式Webserver的main函数,包括资源准备、主业务流程和资源释放三个阶段,涉及bopen、initWebs、socketReady等多个关键函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、GoAhead嵌入式webserver--LINUX分支

    在源码中的LINUX文件夹里面含有一个main.c文件以及一个Makefile文件,需要编译LINUX环境下的webserver程序,只需要make一下就行了。在这里就针对这个main的主函数进行分析,然后再进行树藤摸瓜进一步的分析源码,在目前的这些函数分析目前只能是对函数功能做出分析,还不能深入到整个webserver运行机制流程方面有个很好的理解。所以分析会有点乏味,但是其中的一些函数还有写得非常好的,具有很好的参考性。


二、原代码片段

int main(int argc, char** argv)
{

	bopen(NULL, (60 * 1024), B_USE_MALLOC);
	signal(SIGPIPE, SIG_IGN);


	if (initWebs() < 0) {
		return -1;
	}


	while (!finished) {
		if (socketReady(-1) || socketSelect(-1, 1000)) {
			socketProcess(-1);
		}
		websCgiCleanup();
		emfSchedProcess();
	}

	websCloseServer();
	socketClose();

	bclose();
	return 0;
}
以上就是一些源码,我将其中的一些SSL加密以及用户管理方面的代码删除掉了,这些并没有在这里贴出来,有兴趣的可以查看下源码。

三、main函数结构分析

    在main函数中,总共有几个函数分别为 bopen()、 initWebs()、 socketReady()、socketSelect()、socketProcess()、websCgiCleanup()、emfSchedProcess()、webCloseServer()、socketClose()、bclose() 。

&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值