1 / 9
文档名称:

goahead343源码分析.doc

格式:doc   大小:123KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

goahead343源码分析.doc

上传人:wdwd123321123 2019/11/25 文件大小:123 KB

下载得到文件列表

goahead343源码分析.doc

相关文档

文档介绍

文档介绍:-12-22一、架构分析1、goAhead的作用一款开源的嵌入式web服务器系统。2、goAhead的特点goAhead则是专门针对嵌入式实时操作系统(RTOS)的webserver。他支持:SOAP客户端:简单对象访问协议。XML-RPC客户端:Flash客户端:性能指标:内存小:不包含ssl为60k,包含为500k响应速度:24MHZ下可有:20次/秒的响应速度266MHZ可有:50次/秒的响应。支持技术:ASP,嵌入式JSP,CGI,CGI处理GoFroms,扩展API,web页面可存在rom中。支持多种操作系统:vxWorks,linux,WinCE等。来源《基于VxWorks的WebServer研究和实现》3、GoAhead工作原理浏览器goAheadweb服务器HTMLJavaScript嵌入式系统应用GoAheadweb服务器总体结构浏览器GoAheadweb服务器HTML解析器Script解析器From生成器HTTP引擎顶层通讯TCP/IP协议底层通讯TCP/IP协议HTTP引擎HTML生成器浏览页面From解析器处理器GoAheadWeb服务器体系结构浏览器嵌入式设备GoAheadweb服务器CGI程序客户端发出请求激活CGI程序服务器返回结果返回处理结果CGI工作原理4、GoAhead涉及的角色(关键组件)猜想:浏览器:应用:处理器:接收、发送、监听、转发器转发器:拦截(get,post,forward)、分析、转发(转发规则)安全日志记录主机日志处理器(操作函数)官网(关键组件):1、GoAheadHTTPCore:GoAheadHTTP核心,包括HTTP协议处理,socket连接管理和其日志记录。2、RequestRouter:请求路由,将用户的相关请求转发给相应的请求句柄。3、PortableRuntime:轻便运行层。跨平台,单线程,非阻塞,事件驱动的轻量级运行层。主要负责:内存分配,安全字符句柄,链表,哈希,命令执行,socket通讯,事件,计时器,调试追踪,日志。4、AuthenticationFramework:认证框架。可拔插的认证,支持基本的,联通,网页基本表格的认证。5、SessionState:会话状态。会话状态存储。每个用户的状态和cookie的管理。6、ActionHandler:动作句柄。动作句柄绑定URI到c处理函数。7、FileHandler:文件句柄。服务于静态的文件:HTML,图片,pdf。8、JavaScriptHandler:js句柄。嵌入式服务器js。9、CGIHandler:cgi句柄。cgi程序。10、SecureSocketsLayer(SSL):ssl层。5、需要完成的操作1、设置socket2、监听端口3、接收、发送数据4、web处理初始化5、解析url6、转发请求:调用相应的应用7、二、功能分析初始化:initPlatform():啥都没干websOpen()初始化服务器初始化步骤(websOpen函数解析):websOsOpen();生成一个系统启动的随机数(标识系统)。websRuntimeOpen();开始系统计时;logOpen();打开日志;setFileLimits();设置文件系统限制socketOpen();初始化sock