jrtplib的简单封装类及使用(二)

使用介绍

1:首先需要在程序开始时加入

   WSADATA dat;   

   WSAStartup(MAKEWORD(2,2),&dat);

 

    程序结束退出时加入

    WSACleanup();

2:要发送数据的类继承于RtpSender类

 

   a:创建Session

         发送数据之前需要创建Session,调用CreateSenderSession后即可创建。

         参数为本机的用于发送视频帧的端口号port,默认为LOCAL_SENDER_PORT

   b:加入目的地址

         就是要发送到的主机的ip和port。调用AddDestAddr实现,参数为辅助类IpPort变量

   c:发送数据

        发送一段数据就调用一次SendPacket。

           bool SendPacket(void *data,unsigned int len);

        参数data为数据的起始地址,len为数据长度。

    d:结束发送需要调用CloseSenderSession。

3:要接收数据的类继承自RtpReceiver类

    a:创建Session

         要接收数据必须要创建Session,调用CreateReceiverSession即可。

         参数为用于接收视频帧的端口号port,默认为LOCAL_RECEIVER_PORT

    b:接收数据

         需要实现类RtpReceiver的纯虚函数ProcessReceiveData

        virtual void ProcessReceiveData(RTPSourceData &srcdata, RTPPacket &packet)

        参数srcdata用于判别发送数据的主机ip地址和端口,

        参数packet含有发送者发送的数据。

          数据长度为packet.GetPayloadLength()

          数据起始地址packet.GetPayloadData()

        该函数可以对接收到得数据进行处理。

     C:结束Session时调用CloseReceiverSession。

说明,上述封装仅仅是简单的数据传输,没有传输控制,没有接收数据的缓冲操作,仅仅限于局域网络传输等等不足都令其用处仅在于学习。

        

 

        

      

你可能感兴趣的:(Jrtplib学习使用)