各位晚上好,我的疑问是有两个的。
肖志宏在B站之前有一个分享《RTC级联和QUIC协议》,在这个视频的第 24 分钟左右 比较了 异步与协程 解析复杂协议 的代码可读性。如下图所示:

我觉得他例子说得很对,确实协程可以做到很好的可读性,例如 SRS RTMP 里面的 expect_message()
函数
他只需要一次 expect_message()
调用就完成了 多个 chunk 的合并 跟 connect 请求的解析。如下:

协程的优势在我这篇文章《DNS查询lookupdns程序分析-上》里也有介绍。
但是异步编程的可读性真的很低吗?我还是想实际看一下 ZLMediaKit 解析 RTMP 的代码。
因为在 FFmpeg 发送端,一个完整的 RTMP Message 会拆成多个 chunk 进行发送。那在接收端,ZLMediaKit 是怎么合并多个 chunk 成一个完整的 RTMP Message 的?
可以截图一下关键代码我看一下吗?