深圳热线

流媒体数据的数据接收是?接收数据与发送数据一样容易吗?

2023-04-03 08:39:21 来源:创视网

流媒体数据的数据接收

对于流媒体数据的接收端,首先需要调用 RTPSession 类的 PollData() 方法来接收发送过来的 RTP 或者RTCP 数据报。

JRTPLIB-3.11中修改PollData()方法为Poll(),使用都一样

由于同一个 RTP 会话中允许有多个参与者(源),你既可以通过调用 RTPSession 类的

GotoFirstSource() 和 GotoNextSource() 方法来遍历所有的源,也可以通过调用 RTPSession 类的GotoFirstSourceWithData() 和 GotoNextSourceWithData() 方法来遍历那些携带有数据的源。在从 RTP 会话中检测出有效的数据源之后,接下去就可以调用 RTPSession 类的 GetNextPacket() 方法从中抽取 RTP 数据报,当接收到的 RTP 数据报处理完之后,一定要记得及时释放。

接收数据与发送数据一样容易

接收数据与发送数据一样容易。下面是recv()函数的函数定义:

intrecv(intsocket,char*buffer,intlen,intflags);

你可能已经看到了,这些参数与send()函数中的参数是一样的,因此可以类似于下面这样来调用它:

charbuffer[128];

intreceived;

received=recv(datasock,buffer,128,0);

这创建一个足够容纳128字节数据的缓冲区,然后就等待数据流入。需要注意的是,这一函数在接收满128字节数据之前就可能返回,它最多只接收128字节,因此不必担心缓冲区溢出。

同样,如果函数执行失败,则返回-1。表2.9列出了此函数的错误代码。

关键词: 流媒体数据的 数据接收 接收数据与 发送数据

热门推荐