摘要:
pgm不太能用,没有想象中的可靠,重传机制貌似仍然使用组播重传,丢包率80%的网络感觉没啥改进,如果有所好转延迟估计也是个不小的问题。 后听说rtp也有nack机制,webrtc基于rtp实现了重传在一定程度上保证可靠性。 在各路大神的指引下找到了rfc4585,看到了这么一段 RTCP扩展反馈报文 阅读全文
摘要:
Reliable Multicast Programming (PGM)实际通用可靠多播协议,在某种程度上保证多播的可靠性。是IP上层协议,和TCP还有UDP同级,工作在传输层。 在组播传输视频项目中,发现在网络较差的时候,组播传输视频性能下降迅猛,组播的视频几乎到了无法直视的地步,已经不是马赛克什 阅读全文
摘要:
前一段时间,运行在Chromium OS上的一个相机应用经常会自己崩溃,进程戛然而止,测试过程中发现使用的内存以肉眼可见的内存增长,当增长到1G左右,应用窗口突然消失,虽然原因不明,但是能猜到个大概,和内存的增长是有关系的。虽然应用所在的renderer进程是browser的子进程,但是并没有相关日 阅读全文
摘要:
今天代码中遇到使用正则表达式匹配一个文件路径的问题,需要验证传入的文件路径是否合法,学习了简单的正则表达式的写法后,简单写了如下代码,在网上找了一些在线测试正则表达式的网站,测试可以通过。 c++ std::regex match("^[a zA Z]:(\\[a zA Z0 9]+)+$"); s 阅读全文
摘要:
问题发现 在业务逻辑中发现有时使用 这个API创建出来的窗口无法使用其他的API,不仅其他 的API说 而且还有奇怪的警告和报错 第一个报警是 的报警,提示当前创建的窗口加载的页面可能是一个 查询了官方文档,发现如果需要创建一个 需要在 的`manifest`文件中添加如下声明 但是我并没有添加类似 阅读全文
摘要:
本篇文档以gpu进程的创建和启动为例,讲述chormium如何启动一个browser进程的子进程 PS:本文使用的chromium代码版本为71 前言 GPU进程的启动时机是由browser进程负责的,browser进程会在进入message loop之前启动两个进程,先是启动zygote进程,然后 阅读全文
摘要:
在编译chromium代码的过程中发现,官方推荐使用的版本是ubuntu16.04,但是这个版本的ubuntu比较老旧,一些库都比较老了,但是google自己用的部分却是挺新的,protobuf就是一个例子,在ubuntu16.04上默认安装的protobuf的版本是2.6.1,但是chromium 阅读全文
摘要:
前一段时间在工作过程中遇到一个场景需要将http response中的request header中的cookie字段取出并进行解析,但是手头没有解析cookie的工具类,同时cookie的表现就是个字符串,于是想到手动分割 但是在C++的标准库中,并没有提供类似split的函数,在有些时候可能会很 阅读全文
摘要:
std::future和std::promise std::future std::future期待一个返回,从一个异步调用的角度来说, future更像是执行函数的返回值 ,C++标准库使用std::future为一次性事件建模,如果一个事件需要等待特定的一次性事件,那么这线程可以获取一个futu 阅读全文
摘要:
前一篇没用markdown编辑器感觉不好看,删了重新发 本篇主要讲述线程的管理,主要包括创建和使用线程 启动线程 线程出现是为了执行任务,线程创建时会给一个入口函数,当这个函数返回时,该线程就会退出,最常见的main()函数就是主线程的入口函数,在main()函数返回时主线程就结束了。 如何启动一个 阅读全文