我建立了一个直播网站。我使用nginx作为反向代理,并在nginx后面部署多个flv-live-stream进程(由C ++编写的二进制程序)。在我的flv-live-stream计划中。客户端与nginx保持长时间的连接。我计算了alreay发送的视频帧,以预测客户端是否流畅播放。
但我发现上游模块中有一个奇怪的缓冲区。即使客户端100%丢包,后端进程仍然可以发送到nginx 2~3秒,差不多2.5~3MBytes。
如果有一种方法可以在从后端收到响应后同步传递给客户端。当nginx无法向客户端发送数据时(exp。客户端丢失数据包...),nginx不会立即接受来自后端的数据。
我已经设置
listen 80 sndbuf=64k rcvbuf=64k;
proxy_buffering off;
fastcgi_buffering off;
任何人都可以提供帮助?谢谢!