30 GroupSock(Port)——live555源码阅读(四)网络 30 GroupSock(Port)——live555源码阅读(四)网络 简介 Port类的定义 Port的构造与全局的 << 运算符重载 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 端口类是用于保存网络端口的,计算机网络端口一般有两种含义,分别是物理意义上的网络设备接口和逻辑意义上的端口…
32 GroupSock(AddressPortLookupTable)——live555源码阅读(四)网络 32 GroupSock(AddressPortLookupTable)——live555源码阅读(四)网络 简介 AddressPortLookupTable的定义 AddressPortLookupTable构造与析构 Add方法(添加表项) Remove方法(移除表项) Lookup方法(查找表项) AddressPortLookupTable迭代器方法 本文由乌合之众 lym瞎编…
28 GroupSock(NetAddress)——live555源码阅读(四)网络 28 GroupSock(NetAddress)——live555源码阅读(四)网络 简介 1) NetAddress网络地址类简述 下面是其定义 assign方法(分配空间) NetAddress的构造 clean方法(清理)与析构 operate= 重载赋值操作 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina…
31 GroupSock(AddressString)——live555源码阅读(四)网络 31 GroupSock(AddressString)——live555源码阅读(四)网络 简介 AddressString类定义 AddressString::init方法 AddressString构造与析构 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 AddressS…
29 GroupSock(NetAddressList)——live555源码阅读(四)网络 29 GroupSock(NetAddressList)——live555源码阅读(四)网络 简介 NetAddressList的定义 assign方法 NetAddressList的构造 clean方法与析构 拷贝构造与赋值运算符重载 NetAddressList::Iterator迭代器 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎…
27 GroupSock概述(一)——live555源码阅读(四)网络 27 GroupSock概述(一)——live555源码阅读(四)网络 简介 1.网络通用数据类型定义 2.Tunnel隧道封装 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 group是组/群的意思,socket是网络接口的代名词了.这个部分很庞大,主要是与网络相关的.而live555的网络模…
40 网络相关函数(八)——live555源码阅读(四)网络 40 网络相关函数(八)——live555源码阅读(四)网络 简介 15)writeSocket向套接口写数据 TTL的概念 函数sendto 函数原型 函数说明 参数说明: 返回值 错误代码 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 网络相关函数是一系列用于操作网络数据的函数.在多个文件中都有相关的…
38 网络相关函数(六)——live555源码阅读(四)网络 38 网络相关函数(六)——live555源码阅读(四)网络 简介 12)makeSocketNonBlocking和makeSocketBlocking套接口阻塞属性设置 13)setupStreamSocket设置流式套接口 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 网络相关函数是一系列用于操作网…
37 网络相关函数(五)——live555源码阅读(四)网络 37 网络相关函数(五)——live555源码阅读(四)网络 简介 10)MAKE_SOCKADDR_IN构建sockaddr_in结构体宏 11)setupDatagramSocket设置数据报套接口 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 网络相关函数是一系列用于操作网络数据的函数.在多个文件中…
39 网络相关函数(七)——live555源码阅读(四)网络 39 网络相关函数(七)——live555源码阅读(四)网络 简介 14)readSocket从套接口读取数据 recv/recvfrom 函数 函数原型: 参数说明: 返回说明: 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 网络相关函数是一系列用于操作网络数据的函数.在多个文件中都有相关的函数的定义.…
36 网络相关函数(四)——live555源码阅读(四)网络 36 网络相关函数(四)——live555源码阅读(四)网络 简介 7)createSocket创建socket方法 8)closeSocket 关闭套接口 9)setsockopt 设置socket套接口选项 函数原型: 参数说明: 返回说明: 注意: 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 网络…
35 网络相关函数(三)——live555源码阅读(四)网络 35 网络相关函数(三)——live555源码阅读(四)网络 简介 5)NoReuse不重用地址类 6)initializeWinsockIfNecessary 根据需要初始化winSock 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 简介 网络相关函数是一系列用于操作网络数据的函数.在多个文件中都有相关的函…
34 网络相关函数(二)——live555源码阅读(四)网络 34 网络相关函数(二)——live555源码阅读(四)网络 2)socketErr 套接口错误 3)groupsockPriv函数 4)reclaimGroupsockPriv函数 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 2)socketErr 套接口错误 socketErr是个静态方法,定义在live…
33 网络相关函数(一)——live555源码阅读(四)网络 33 网络相关函数(一)——live555源码阅读(四)网络 简介 1)IsMulticastAddress多播(组播)地址判断函数 多播简要说明 多播编程简述 1.流程 2.多播程序设计使用setsockopt()函数和getsockopt()函数来实现,组播的选项是IP层的. 3.setsockopt()的选项 实例: 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso BasicHashTable的辅助方法 这里介绍的是一些用来对哈希表进行一些基本的哈希操作的函数. randomIndex(uintptr_t i) const方法 randomIndex(uintptr_t i…
26 BasicUsageEnvironment基本使用环境--Live555源码阅读(三)UsageEnvironment 26 BasicUsageEnvironment基本使用环境--Live555源码阅读(三)UsageEnvironment 简介 以下是其定义 BasicUsageEnvironment的构造与析构 createNew方法(创建对象) getErrno方法 operator<<方法(输出到strerr) 这是Live555源码阅读的第三部分,包括了UsageEnvir…
24 UsageEnvironment使用环境抽象基类——Live555源码阅读(三)UsageEnvironment 24 UsageEnvironment使用环境抽象基类——Live555源码阅读(三)UsageEnvironment 简介 下面是其定义 UsageEnvironment的构造与析构 reclaim方法(自我回收) internalError方法(内部错误) 这是Live555源码阅读的第三部分,包括了UsageEnvironment相关的三个类. 本文由乌合之众 lym瞎编…
21_BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类 BasicTaskScheduler基本任务调度器 BasicTaskScheduler基本任务调度器的定义 BasicTaskScheduler的构造与析构 下面来介绍一下schedulerTickTask函数(调度滴答任务) 这是Live555源码阅读的第二部分,包括了任务调度相关的三个类.任务调度是Live555源码中很重要的部分. 本文由乌合之众 lym瞎编,欢迎转载 http:…
这是Live555源码阅读的第二部分,包括了任务调度相关的三个类.任务调度是Live555源码中很重要的部分. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 任务调度是Live555源码中很重要的部分.前面介绍的基本组件类在这里都用到了. 任务调度部分有三个类,其有继承关系. 抽象基类TaskScheduler 派生出 BasicTaskScheduler0…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 哈希表的增删查改 这是BasicHashTable基本哈希表类源码分析的最后一个部分,即哈希表的基本操作方法.这里时间没有直接给出修改条目的方法,因为它包含在了add方法中. Add方法(增加条目) Add方法先…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso BasicHashTable基本哈希表类 这个类搞的很复杂,实质上没什么东西,就是很难看. 先画一个简图 先说说这个BasicHashTable的设计吧. 这个表的内部嵌套定义了一个TableEntry(表条目)…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso HashTable抽象哈希表类 HashTable类内部嵌套定义了一个迭代器类Iterator,这个迭代器类用于循环访问表的成员.这也是一个抽象类,但是其有一个静态的方法static Iterator* crea…
12 哈希表相关类--Live555源码阅读(一)基本组件类 这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 哈希表相关类综述 哈希表相关类一个有两个,HashTable和BasicHashTable.HashTable是BasicHashTable的派生类.…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso AlarmHandler定时处理类 这个类定义在live555sourcecontrol\BasicUsageEnvironment\BasicTaskScheduler0.cpp文件中. AlarmHandle…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 www.cnblogs.com/oloroso/ 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso DelayQueue 延时队列类 这个类的设计不是很复杂,但是要清楚的知道其设计的思路.先给个图 10_DelayQueue.png 这个链表的设计和前面不一样.其内部只有一个EventTime fLastSyncTime最后…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ DelayQueueEntry 延时队列节点类 entry的意思如下 entry n.进入,入场; 入口处,门口; 登记,记录; 参加比赛的人; 为什么说是节点类呢?这个通过阅读代码就可以知道了. DelayQueueEntry类含有四个数据成员,其中fNext和fPrev说明了其是一个链表的节…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ 延时队列相关类 延时队列相关类一共有两个,DelayQueue(延时队列)和DelayQueueEntry(延时队列节点).后面说到任务调度器(TaskScheduler)的时候会使用到. DelayQueue是DelayQueueEntry的派生类,同时也是它的友元类.其定义在live555s…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso HandlerSet 处理程序链表类 这里使用的Set这个单词,Set是集合的意思,这里实质上是一个双向循环链表.这个类比较重要,这里会详细的介绍. HandlerSet类只有一个数据成员,就是HandlerDescriptor fHandlers;这是作为链表的头结点而存在的. HandlerSet的定义,代码…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso/ HandlerDescriptor 处理程序描述类 HandlerDescriptor类是一个很重要的类,其保存了处理程序的函数指针和相关的数据的地址.在构建处理任务的时候,会使用到这个类的对象,处理任务的时候也会用到. HandlerDescriptor类同时将HandlerIterator类…
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso HandlerIterator处理程序迭代器类 这里本应该先介绍HandlerDescriptor类的,因为这个类与它的关联比较大,就先介绍这个类. HandlerIterator是一个迭代器类,其有两个数据成员,分别是HandlerSet类对象的引用fOurSet,以及一个HandlerDescriptor对象…