1 / 19
文档名称:

goaheadwebserver源码分析.docx

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

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

分享

预览

goaheadwebserver源码分析.docx

上传人:小枷 2018/10/26 文件大小:157 KB

下载得到文件列表

goaheadwebserver源码分析.docx

相关文档

文档介绍

文档介绍:goahead webserver源码分析
  (2010-01-17 10:12:16)
标签: 
杂谈

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()回调函数
   |  |
   |  |                                |--如