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吗?