代码之家  ›  专栏  ›  技术社区  ›  Boris

live555异步rtsp客户端[关闭]

  •  -2
  • Boris  · 技术社区  · 15 年前

    1 回复  |  直到 11 年前
        1
  •  2
  •   Ralf    14 年前

    live555api中同步和异步的主要区别在于,现在必须在RTSP请求中指定处理程序。一旦descripe请求完成,就会从live555eventloop调用处理程序。

    在RTSPClient.hh文件responseHandler定义为:

    typedef void (responseHandler)(RTSPClient* rtspClient,
                 int resultCode, char* resultString);
    

    调用处理程序时,live555将提供以下信息:

    • 在其上发出命令的RTSP客户端->这允许您随后调用下一个RTSP方法。

    • 成功时的结果代码为0,如果服务器返回RTSP错误代码,则为正,如果发生网络/套接字错误,则为负。

    E、 g.这意味着当您要调用sendDescribeCommand方法时:

    unsigned sendDescribeCommand(responseHandler* responseHandler, 
             Authenticator* authenticator = NULL);
    

    您必须指定完成描述后将调用哪个处理程序(属于signature responseHandler)。在处理程序中,必须根据结果代码决定是执行设置(再次指定处理程序)还是终止(如果发生错误)。

    正如jenseb建议的那样,openRTSP客户机提供了一个非常好的起点。

    推荐文章