一、概述
push stream模块允许三种模式的订阅者:
本文重点说明前两种。
二、流程
上一篇博文中捎带提到了订阅者的销毁时间——发送完MSG后(ngx_http_push_stream_send_response_finalize),本文将详细说明其讲解其诞生过程。
从上述流程可以看出模块对longpolling和stream两种请求的处理方式有相同之处,也有少许不同。
相同之处主要体现在当所订阅的channel中不存在消息时,都执行下述流程:
可以看出,在此流程中订阅者诞生
不同的是当channel中存在消息时,stream模式仍执行上述流程(建立长连接)然后获取MSG,而longpolling则直接从channel中取得MSG。