goaheadwebserver源码研究.docVIP

  • 4
  • 0
  • 约1.7万字
  • 约 25页
  • 2018-11-21 发布于江苏
  • 举报
goaheadwebserver源码研究

HYPERLINK /jackxia/archive/2010/02/02/1661713.html转载goahead webserver源码分析 1.一个txt文本架构图 main() | |--websOpenServer() | |-- websOpenListen() | |--socketOpenConnection() | |--打开webServer服务器 | |--初化socket_t结构(注册websAccept()回调函数(socket_t sp-accept= websAccept)等) | |--把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)就调用socketAccept() | | |--调用socketAlloc()初始化socket_t结构 | | |--把socket_t结构加入 socketList数组 | | |--调用socket_t sp-accept()回调函数 | | | | |--如果不是新的

文档评论(0)

1亿VIP精品文档

相关文档