我正在构建一个 RTSP 服务器,并且正在创建两个请求/响应对象,它们的名称TRTSPRequest
与RTSPTRTSPResponse
相似TWebRequest
,TWebResponse
但特定于 RTSP。我有一种感觉,我正在重新发明轮子,而且我可以在这里走一条更简单的路。我已经编写了 400 行代码来创建这个服务器,其中大部分只是解析请求标头。
Delphi XE2 / Indy 10 中有什么东西可以重用,可以为我解析 RTSP 标头吗?还是我不得不自己解析所有内容?
由于 RTSP 与 HTTP 非常相似,我可以使用 HTTP 请求/响应对象吗?还是会被 RTSP 结构弄糊涂?
例如,我可以IdHTTPHeaderInfo.pas
为 RTSP 使用和调整它并调用它IdRTSPHeaderInfo.pas
吗?
根据RFC 2326 ...
易于解析:RTSP 可以被标准的 HTTP 或 MIME 解析器解析。
和
HTTP 友好:在合理的情况下,RTSP 重用 HTTP 概念,以便可以重用现有的基础设施。该基础设施包括用于将标签与内容相关联的 PICS(互联网内容选择平台 [15,16])。然而,RTSP 不只是向 HTTP 添加方法,因为控制连续媒体在大多数情况下需要服务器状态。
那么我该怎么做呢?