nginx-rtmp连接建立过程

11 篇文章 56 订阅 ¥9.90 ¥99.00
本文详细介绍了nginx-rtmp模块的连接建立过程,包括监听端口相关数据结构的解析,如ngx_rtmp_conf_addr_t和ngx_rtmp_core_main_conf_t;listen端口配置的解析与优化;accept事件处理,涉及ngx_event_process_init函数和ngx_rtmp_init_connection。整个流程从配置解析到连接握手,揭示了nginx-rtmp如何处理RTMP连接请求并进行三次握手建立连接。
摘要由CSDN通过智能技术生成

连接建立整体过程:

  • 解析listen配置-ngx_rtmp_core_listen
  • 根据ip地址端口创建ngx_listening_t监听套接字-ngx_rtmp_optimize_servers
  • 创建socket,打开监听–ngx_open_listening_sockets
  • accpet监听事件初始化–ngx_event_process_init
  • rtmp连接创建 ngx_rtmp_init_connection
  • rtmp三次握手

监听端口相关数据结构

listen监听端口相关的数据结构主要有以下数据结构,简单来说,nginx配置文件中可以有多个listen端口,每个端口对应有多个ip地址。

  • ngx_rtmp_conf_addr_t
  • ngx_rtmp_conf_port_t
  • ngx_rtmp_listen_t
  • ngx_rtmp_core_main_conf_t

服务器很多都是有多网卡的,一个端口也可以对应有多个地址,监听端口的时候可以配置监听某个指定地址的端口,也可以只配置端口那么就是所有ip地址都监听。

ngx_rtmp_conf_addr_t是用来表示监听的某个地址信息。

typedef struct {
    struct sockaddr        *sockaddr;
    socklen_t       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值