1 / 25
文档名称:

goaheadwebserver源码分析.doc

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

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

分享

预览

goaheadwebserver源码分析.doc

上传人:phljianjian 2017/10/26 文件大小:246 KB

下载得到文件列表

goaheadwebserver源码分析.doc

文档介绍

文档介绍:转载goahead webserver源码分析

main()
|
|--websOpenServer()
| |-- websOpenListen()
| |--socketOpenConnection()
| |--打开webServer服务器
| |--初化socket_t结构(ept()回调函数(socket_t sp->accept= ept)等)
| |--把socket_t结构加入数组socketList
|
|
|--websUrlHandlerDefine()
| |--初始化websUrlHandlerType结构的websUrlHandler数组
| |--将urlPrefix和回调函数绑定在websUrlHandler[websUrlHandlerMax]中
|
|--websUrlHandlerDefine(websDefaultHandler)
| |--初始化websUrlHandlerType结构的websUrlHandler数组
| |--将urlPrefix和回调函数绑定在websUrlHandler[websUrlHandlerMax]中
|
|
|
|--websFormDefine()
| |--初始化symbol table结构sym_t,把名字和回调函数名放进sym_t结构
| |--把sym_t结构放进hash表中
|
|--websAspDefine()
| |--初始化symbol table结构sym_t,把名字和回调函数名放进sym_t结构
| |--把sym_t结构放进hash表中
|
|
|(main loop)
----|--socketReady(-1) || socketSelect(-1, 1000)
^ |--轮询socketList |--轮询socketList中的handlerMask
| | |--中的几个变量|--改变socketList中的currentEvents
| |
| |--socketProcess()
^ | |--轮询socketList[]
| | |--socketReady()
| | |--socketDoEvent()
| | |--如果有新的连接(来自listenfd)ept()
| | |--调用socketAlloc()初始化socket_t结构
| | |--把socket_t结构加入 socketList数组
| | |--调用socket_t sp->accept()回调函数
| |
| | |--如果不是新的连接就查找socketList数组调用socket_t sp->handler()回调函数
| |
| |
--|

ept()
|--做一些检查
|--socketCreateHandler(sid, SOCKET_READABLE, websSocketEvent, (int) wp)
| |--把sid注册为读事件,初始化socket_t sp->handler = websSocketEvent等, 更新对应的socketList数组(handlerMask值等)

websSocketEvent()
|--判断读写操作
|--读websReadEvent()
| |--websUrlHandlerRequest()
| |--查找wbsUrlHandler数组,调用和urlPrefix对应的回调函数(websFormHandler(),websDefaultHandler()等)
|
|--写,调用(wp->writeSocket)回调函数


websFormHandler()
|--跟据formName查找hash表,调用用户定义的函数

websDefaultHandler()
|--处理默认的URL请求,包括asp页面
|--websSetRequestSocketHandler()
| |--注册默认的写事件函数wp->writeSocket = websDefaultWriteEvent
| |--socketCreateHandler(wp->sid, SOCKET_WRITABLE, websSocketEvent, (int) wp)
| |--把sid注册为写事件,初始化socket_t sp->handler = websSocketEvent等, 更新对应的socket

最近更新

甘肃省公务员考试数量关系专项练习题及答案【.. 105页

福建省公务员考试常识判断专项练习题附答案(.. 79页

福建省福州市公务员考试数量关系专项练习题含.. 106页

考试行测真题之数量关系【典型题】 107页

职测数量关系题型附答案(满分必刷) 106页

行政机关各测评要素真题之常识判断能力附参考.. 79页

行政机关各测评要素真题之言语理解与表达能力.. 173页

行政职业能力测试-数量关系真题及答案(最新).. 106页

行政职业能力测试题库常识判断习题【实用】 79页

行政职业能力测试题库数量关系习题附参考答案.. 106页

行测 言语理解与表达试题完整答案 174页

行测常识判断练习题集带答案(突破训练) 81页

部编六年级上册语文3古诗词三首说课稿 3页

行测数量关系真题附答案(b卷) 106页

行测数量关系试题及答案(网校专用) 107页

行测言语理解与表达之标题选择题答题策略(轻.. 174页

行测言语理解与表达练习题集带答案(实用) 177页

言语理解与表达(概括文意)历年真题试卷汇编【.. 181页

言语理解与表达(选词选择)历年真题试卷标准卷.. 175页

职业病危害因素与分析 30页

言语理解与表达之选词选择题(夺冠系列) 172页

言语理解与表达刷题【word】 176页

言语理解与表达常见题型及参考答案(培优b卷).. 174页

言语理解与表达排序题附答案(夺分金卷) 175页

言语理解与表达测试题含答案(典型题) 176页

言语理解与表达真题【典优】 175页

言语理解与表达练习题附参考答案(a卷) 176页

六年级数学下册教学计划及进度表 4页

海洋环境监测与保护 54页

北师大(版)数学三年级下册教材分析 28页