【linux】UDP接收缓冲区注意事项&rtsp转发代理服务器设计
文章目录1.[linux]内核UDP接收缓冲区注意事项1.1.linux查看udp缓冲区默认大小1.2.linux修改udp缓冲区默认大小1.[linux]内核UDP接收缓冲区注意事项1.1.linux查看udp缓冲区默认大小#最大值(默认212992字节)cat /proc/sys/net/core/rmem_max#最小值(默认212992字节)cat /proc/sys/.
·
Author:Peter
Location:FZU
Date: 2022-05-24
:如人饮水,冷暖自知。
在流媒体传输过程中,通信双方底层采用udp传输方式,则接收端需对相应套接字配置udp接收缓冲区大小。如果缓存太小、发送方在某时刻数据量过大,未作流控,则可能导致源头丢包(内核缓存上溢)。接收端通过 setsockopt(s_server, SOL_SOCKET, SO_RCVBUF, (char *)&nRecvBuf, sizeof(int)),如果nRecvBuf大于系统默认最大值rmem_max,则初始化接收缓冲区为2*rmem_max,如果nRecvBuf小于系统默认最大值rmem_max,则初始化接收缓冲区为2*nRecvBuf。
文章目录
一、[linux]内核UDP接收缓冲区注意事项
1.1 linux查看udp缓冲区默认大小
#最大值(默认212992字节)
cat /proc/sys/net/core/rmem_max
#最小值(默认212992字节)
cat /proc/sys/net/core/rmem_default
#或者采用sysctl -a | grep rmem_max
1.2 linux修改udp缓冲区默认大小
- 修改udp缓冲区最大值为4MB,立即生效(重启失效)
$ sudo sysctl -w net.core.rmem_max=4194304 net.core.rmem_max = 4194304
- 修改/etc/sysctl.conf,(重启也生效)
#vim编辑 在末尾添加 net.core.rmem_max=4194304 #保存退出 sysctl -p #生效
二、rtsp转发代理服务器设计
2.1 rtsp基本概念
2.2 基于TCP传输RTP
2.3 基于UDP传输RTP
2.4 H264(nalu)封包为RTP
更多推荐
已为社区贡献1条内容
所有评论(0)