关于rtsp server的连接保持问题

来源:互联网 发布:胡鞍钢为什么得宠知乎 编辑:程序博客网 时间:2024/05/21 18:44

注:请转载后注明出处

问题:

最近部门间交流问题,争论rtsp server收到错误的请求,并返回了4XX的错误,之后是否rtsp server应该主动将该链接关掉,server开发人员认为既然错误,那就cut掉client的链接,让client端重新请求即可,client的开发人员认为server应该保持链接避免再开链接还要三次握手等一系列操作,效率变低。双方各执一词谁也不觉得自己该改。本人支持server端不关闭链接,但是也是苦于rfc 2326中并没有明确具体该如何操作类似的问题。


柳暗花明:

会后查看2326相关文档时,发现Real Time Streaming Protocol 2.0 (RTSP)的草案一枚,抱着试试看,竟然找到了相关的描述,见文档的《10.3.  Closing Connections》,现摘出如下:
“A server SHOULD NOT close the connection directly as a result of
   responding to a request with an error code.


      Certain error responses such as "460 Only Aggregate Operation
      Allowed" (Section 17.4.25) are used for negotiating capabilities
      of a server with respect to content or other factors.  In such
      cases, it is inefficient for the server to close a connection on
      an error response.  Also, such behavior would prevent”
该10.3节总体传达了如下几个意思:1、client端想关就关,Server端能不关就不关(收到teardown,或 长时间不完整的msg两个情况除外);2、Server可以考虑超时时间为10S;


至此、问题解决,拿出该rfc就可以说服Server端修改机制;
另外:虽然rtsp 2.0没有正式发布,但是草案都修订了40版,估计很快的会成为标准,后续考虑研读下该draft内容并记录到blog中;

欢迎各位看官留言指正错误;

rtsp 2.0 链接地址:http://www.ietf.org/id/draft-ietf-mmusic-rfc2326bis-40.txt

0 0
原创粉丝点击