Qt调用jrtplib实现单播、多播和广播分析报告.doc

Qt调用jrtplib实现单播、多播和广播分析报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt调用jrtplib实现单播、多播和广播 1.单播 单播是一种“一对一”模式,在单播通信方式下,当一端发送数据报到一个指定的主机时,首先可能会引发ARP把目的IP地址映射为MAC地址,然而ARP就是基于广播模式的实现。当以太网帧到达一个主机时,以太网接口便会把自己的MAC地址与帧中的MAC地址相比较,如果相符,以太网接口便会接收该帧,并按协议栈向上递交,如果不想符,该帧将会忽略该帧。其他的以太网接口做同样的操作,最后接收该帧的只有一个主机。在此之后,然后以太网帧向上递交到IP层目的主机会核对IP分组中的目的IP与本机IP(多宿主机),符合,根据协议类型向上递交到传输层相应的协议处理这即时单播通信的过程。典型的TCP通信就是单播模式的。 单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(Point to Point)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。 [cpp] view plain copy 在CODE上查看代码片派生到我的代码片 #include crtpthread.h #include QDebug CRtpThread::CRtpThread(): m_runFlag(true) { #ifdef RECEIVER uint8_t destIP[]={192,168,1,168}; #else uint8_t destIP[]={192,168,1,183}; #endif initialRTP(destIP); } CRtpThread::~CRtpThread() { m_session.BYEDestroy(RTPTime(10,0),0,0); m_runFlag=false; #ifdef WIN32 WSACleanup(); #endif // WIN32 } void CRtpThread::run() { while(m_runFlag) { usleep(1); m_session.BeginDataAccess(); if (m_session.GotoFirstSourceWithData()) { do { RTPPacket *pack; while ((pack = m_session.GetNextPacket()) != NULL) { int recvSize = pack-GetPayloadLength(); uint8_t * recvData=pack-GetPayloadData(); dispatch(recvData, recvSize); m_session.DeletePacket(pack); } } while (m_session.GotoNextSourceWithData()); } m_session.EndDataAccess(); #ifndef RTP_SUPPORT_THREAD int status = m_session.Poll(); if (status 0) { qDebug() RTPGetErrorString(status).c_str(); } #e

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档