Groupsock的分析_1

本文介绍了Groupsock的分析,首先回顾了组播的基础知识,强调组播基于UDP,需要加入组播并设置固定端口进行通讯。接着,详细解析了NetInterface、DirectedNetInterface和Socket类,特别是Socket类中的changePort函数及其对端口的处理。OutputSocket类被讨论为专门用于发送数据,其构造和write方法用于指定发送端口和发送数据。
摘要由CSDN通过智能技术生成

      在进行Groupsock分析之前先复习下 组播(多播)的知识.

      首先组播 是基于 UDP的,所以在后面代码里面会出现:sock(AF_INET,SOCK_DGRAM,0); SOCK_DGARM就是代表是UDP进行通信。

然后组播是对应一个D网段的IP,我们需要加入组播才能向组播的成员发送数据或者接受数据,所以代码中会有setsockopt的调用(当然这个函数不光是针对加入组播的)。 最后需要注意的一点是,我们通讯 是在UDP(TCP)之上的某个端口上进行通讯的,所以我们组播的话必须有个固定的端口用于接受数据,也就是说我们要想组播里的成员发送数据,那么目的端口就是这个端口,而我们要接受组播成员发送的数据也是在这个端口上接受数据。

      对组播知识有了了解之后我们再来看看Groupsock的层次,Groupsock是从一个基类派生来的,这个基类是NetInterface,由于是基类,所以主要是一些标识性的属性,在NetInterface里面只有一个 UsageEnvironment类型的变量,很显然是为了错误处理和消息输出用的。

 

      NetInterface有2个子类,一个是DirectedNetInterface,另一个是Socket。

      DirectedNetInterface 这个类比较奇怪,首先它有2个纯虚函数,也就是说这个类是抽象类,但是这个抽象类却没有子类,也就是说在live555中 是不可能用到这个DirectedNetInterface类的。

 

      Socket这个抽象类,2个 字段:  fSocketNum和fPort,不用说肯定是 socket和 端口号了&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值