C++ JRTPLib从多个客户端同时接收数据会导致速度减慢

C++ JRTPLib从多个客户端同时接收数据会导致速度减慢,c++,audio-streaming,rtp,C++,Audio Streaming,Rtp,我在服务器应用程序上有一个接收会话,两个客户端将音频数据发送到该服务器 到目前为止,我只是在服务器应用程序上尝试了以下两个示例: 这可以归结为在单独的线程中接收数据的代码: session.BeginDataAccess(); if (session.GotoFirstSource()) { do { RTPPacket *packet; while ((packet = session.Get

我在服务器应用程序上有一个接收会话,两个客户端将音频数据发送到该服务器

到目前为止,我只是在服务器应用程序上尝试了以下两个示例:

这可以归结为在单独的线程中接收数据的代码:

 session.BeginDataAccess();
    if (session.GotoFirstSource())
    {
        do
        {
            RTPPacket *packet;

            while ((packet = session.GetNextPacket()) != 0)
            {
                //access to packet here
                session.DeletePacket(packet);
            }
        } while (session.GotoNextSource());
    }
    session.EndDataAccess();
对于一个客户端发送,它可以正常工作,但是当两个客户端发送时。并不是整个服务器应用程序都被锁定了,我可以请求客户端列表,TCP线程会在这段时间内做出响应

我对使用RTP非常陌生,如果我误解了示例代码,请原谅我,我将非常感谢能得到的关于如何解决这个问题的任何提示


因此,我尝试在一个接收器会话中接收来自多个客户端应用程序的数据,但由于某些原因,它的工作速度不太快。原因可能是什么?RTP会话旨在从多个源iirc获取数据。

您是否检查了cpu负载?如果线程已满,您可以运行callgrind吗?