我在HTTP上编写了MJPEG流媒体服务器。我的HTTP服务器接收请求并发送MJPEG。到目前为止它工作正常。我正在使用C ++和POCO库。
我不知道何时停止流式传输的问题。在停止从浏览器(firefox)浏览时,它发送与请求流时相同的请求。我在请求和停止浏览器时使用了fiddler,以下是HTTP请求。
从浏览器(firefox)请求MJPEG:
GET http://mymjpegserver.com?vms=dvtel&deviceid=1&rgb=true&server=10.8.10.80&userid=admin&password= HTTP/1.1
Host: 10.1.39.7:8081
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
点击十字" x"停止来自浏览器(firefox)的流式传输按钮
GET http://mymjpegserver.com?vms=dvtel&deviceid=1&rgb=true&server=10.8.10.80&userid=admin&password= HTTP/1.1
Host: 10.1.39.7:8081
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
然后片刻之后,当我切换浏览器标签或窗口时,它会发送以下请求
GET http://mymjpegserver.com?vms=dvtel&deviceid=1&rgb=true&server=10.8.10.80&userid=admin&password= HTTP/1.1
Host: 10.1.39.7:8081
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
这只是将Accept值更改为" image / png ..."。但是,我不能使用此Accept值来区分终止,因为此请求仅在切换Tab / Window时发送。
关闭Tab后,没有任何内容发送到Http Server。
我的问题是,如何在Web服务器上检查停止流式传输的请求?