我有一个应用程序,使用civetweb(以前是mongoose)HTTP服务器库创建MJPEG流。当我的MJPEG设置与客户端连接的网络的带宽配置文件匹配时,一切都运行良好,但偶尔我们会遇到低带宽连接,我想通过丢弃帧来适应它。
现在,当我调用
我想要做的是检查套接字的传出缓冲区,如果已满,则跳过一帧。有没有办法在应用程序级别检查这个?
编辑:对于MJPEG用户而言,这些TCP缓冲区非常大,我最终实际测量的只是缓冲区中是否存在任何字节。如果存在不止零个字节,则跳过一帧。
现在,当我调用
mg_write()
时,mongoose库会像这样调用send()
:send(sock, buf + sent, (size_t) k, MSG_NOSIGNAL);
我想要做的是检查套接字的传出缓冲区,如果已满,则跳过一帧。有没有办法在应用程序级别检查这个?
编辑:对于MJPEG用户而言,这些TCP缓冲区非常大,我最终实际测量的只是缓冲区中是否存在任何字节。如果存在不止零个字节,则跳过一帧。
FIONSPACE
的参考资料吗? - fluter