1.四个基本的库分别是: UsageEnvironment,groupsock,liveMedia,BasicUsageEnvironment
1.1 UsageEnvironment
该类库是对系统环境的抽象,包括UsageEnvironment 和TaskScheduler。UsageEnvironment 主要用于消息的输入输出和用户功能,TaskScheduler实现事件的异步处理,事件处理函数的注册等。它通过维护一个异步读取源实现如消息到达等事件的处理,通过使用DelayQueue实现其他注册函数的延时调度。另外,还有一个HashTable类定义了一个通用的hash表,其它代码要用 到这个表。我们在使用时可以自定义该类的抽象类的子类,就可以再特定的环境下运行如嵌入式或者GUI等。不需要进行太多的修改。
1.2.groupsock
该类是对网络接口的封装,用于收发数据包。groupsock主要是面向多播数据的收发,它也同时支持单播数据的接收。
1.3.liveMedia
该类是live555的核心模块,各种媒体的封装和数据的发送。其中基类为Medium,其他的类都派生自该类。如MediaSession,RTP会话类,一个 session又可以包含多个subsession。还有比较重要的两个派生类Source和Sink,Source抽象了需要发送的数据,Sink则抽象数据的发送者,数据的流动可以经过多个source和sink,两者又通过session联系在一起。我们在开发的过程中,可以通过继承这些类,实现自己需要的相关功能。
1.4.BasicUsageEnvironment
该类主要针对简单控制台的应用程序,利用select实现事件的获取和处理。
2.将四个基本库目