live555源码分析
用一样东西,却不明白它的道理,实在不太高明。我们程序员使用开源项目,更重要的是学习内部实现,不然做一辈子脚本小子,有什么意思?
所以,此专栏与大家一起,由浅入深,结合代码,学习毛德操老师那种思路,拿起手术刀,庖丁解牛理清脉络,达成能够自由修改或增加功能。也作为以后理解大中型开源项目的基础练习。
flukeshen
这个作者很懒,什么都没留下…
展开
-
live555源码分析(二)Groupsock
Groupsock内部封装了udp套接字,用来实现组播消息群发。 Groupsock在其父类构造函数中,执行setupDatagramSocket函数初始化,创建套接字并绑定端口: Socket::Socket(UsageEnvironment& env, Port port, int family) : fEnv(DefaultUsageEnvironment != NULL ? *DefaultUsageEnvironment : env), fPort(port),原创 2022-02-08 15:24:13 · 1229 阅读 · 0 评论 -
live555源码分析(一)基础环境
废话不多说,先拿调度器开刀。 BasicTaskScheduler(继承自BasicTaskScheduler0)是live555实现的一个基础调度器类,其成员doEventLoop函数用来处理循环事件消息,看源码: void BasicTaskScheduler0::doEventLoop(char volatile* watchVariable) { // Repeatedly loop, handling readble sockets and timed events: whi原创 2022-01-28 14:36:56 · 646 阅读 · 0 评论