我正在使用Windows 7上的Apache websocket模块。我使用了" Disconnect"提供的代码。根据{{3}}的指导,在https://github.com/disconnect/apache-websocket上成功将其编译为在Windows 7上运行。我有一个名为" ws_switch_plugin"的关联插件。从websocket模块调用的方式与Disconnect" echo"使用了插件示例。
我在Xampp 1.8.3安装中运行Apache 2.4.7。我已根据Disconnect的建议配置了httpd.conf文件。
我看到的奇怪情况是,当Apache启动时,它似乎加载了websocket模块四次并调用插件" init"每次都有功能。在启动期间,插件的两个实例立即被销毁,但两个仍保持打开状态。从基于句柄的进一步调试到插件,似乎只使用了最后创建的插件。当Apache停止时,两个未完成的插件都会被破坏。
下面是调试文件中的列表,其中列出了来自disconnect websocket模块的函数名称,因为它们是从Apache调用的。当Apache启动时,它显示四组函数调用,对应于websocket模块的四个明显负载。最后,当Apache停止时,它会显示插件的两个实例被销毁。
任何人都可以解释为什么会这样吗?我希望有理解并理想地了解是否有办法让Apache只加载模块一次。
(WHEN STARTING APACHE ...)
mod_websocket_register_hooks
mod_websocket_create_dir_config path NULL
mod_websocket_create_dir_config path /ws_switch_plugin
mod_websocket_create_dir_config apr_pcalloc OK
mod_websocket_conf_handler
plugin ws_switch_plugin_init
mod_websocket_conf_handler plugin handle 0079B2F0
mod_websocket_conf_handler response OK
mod_websocket_cleanup_config
DESTROY plugin
mod_websocket_register_hooks
mod_websocket_create_dir_config path NULL
mod_websocket_create_dir_config path /ws_switch_plugin
mod_websocket_create_dir_config apr_pcalloc OK
mod_websocket_conf_handler
plugin ws_switch_plugin_init
mod_websocket_conf_handler plugin handle 007A30C8
mod_websocket_conf_handler response OK
mod_websocket_register_hooks
mod_websocket_create_dir_config path NULL
mod_websocket_create_dir_config path /ws_switch_plugin
mod_websocket_create_dir_config apr_pcalloc OK
mod_websocket_conf_handler
plugin ws_switch_plugin_init
mod_websocket_conf_handler plugin handle 00410278
mod_websocket_conf_handler response OK
mod_websocket_cleanup_config
DESTROY plugin
mod_websocket_register_hooks
mod_websocket_create_dir_config path NULL
mod_websocket_create_dir_config path /ws_switch_plugin
mod_websocket_create_dir_config apr_pcalloc OK
mod_websocket_conf_handler
plugin ws_switch_plugin_init
mod_websocket_conf_handler plugin handle 00418050
mod_websocket_conf_handler response OK
(WHEN STOPPING APACHE ...)
mod_websocket_cleanup_config
DESTROY plugin
mod_websocket_cleanup_config
DESTROY plugin