您的位置:首页 > 编程语言 > PHP开发

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

2011-04-21 20:31 218 查看
使用介绍

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。

说明,上述封装仅仅是简单的数据传输,没有传输控制,没有接收数据的缓冲操作,仅仅限于局域网络传输等等不足都令其用处仅在于学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: