Browsed by
分类:推荐文章

protobuf 异常死锁分析

protobuf 异常死锁分析

最近在开发中,有个模块在测试时偶尔会出现卡死现象,进程状态处于futex状态。网络搜索发现这种状态下,进程大概率发生了死锁。最近的代码修改不涉及到锁的使用,可能是其它方面引入的问题。

在日常开发中,死锁并不陌生。只要能有堆栈就很容易解决。使用stace 命[……]

继续阅读

客户端抓包与日志分析方法

客户端抓包与日志分析方法

作为工程师,检测应用是否有收发包常见的方法就是抓包。linux平台下可以通过tcpdump命令进行抓包,windows 和Mac 平台也有Wireshark工具,对于终端如何进行抓包与日志分析。

终端抓包方法

苹果的生态很封闭,但开发工具很完美。将手机与Mac相连后,通过xcode就可以[……]

继续阅读

奇异果熟了

奇异果熟了

老家在陕西,秦岭大山深处。经过1年风雨的洗礼,今年的猕猴桃格外肉肥汁多,清香鲜美,酸甜可口。

一颗猕猴桃能提供一个人一日维生素C需求量的两倍多,被誉为“水果之王”。如果觉得橙子难剥皮、樱桃又要洗、香蕉容易坏,那就吃猕猴桃吧。

猕猴桃含有丰富的维生素A、C、E及钾、镁、纤维素等,还[……]

继续阅读

自适应ARQ算法实践

自适应ARQ算法实践

在实时音视频领域,数据传输强调实时性,通常选择UDP协议可靠性就会降低。数据包发生丢包,就会引起解码失败,导致接收端发生卡顿影响用户体验。

抗丢包技术综述

实时音视频类应用需要保证数据传输的可靠性,需要应用自身实现抗丢包、抗抖动、抗拥塞算法。本文重点介绍抗丢包技术,下图为业界主要的抗丢包[……]

继续阅读

音频质量评估POLQA算法介绍

音频质量评估POLQA算法介绍

随着VoIP技术的不断发展,VoIP的语音质量越来越得到大家的关注。如何评价音频质量,也逐渐成为大家讨论的热点问题。关于如何进行测试请关注音频质量PESQ得分评估原理与步骤这篇文章,本篇文章重点介绍POLQA算法。

POLQA算法是新一代语音质量评估标准,适用于固网、移动通信网络和IP 网 络[……]

继续阅读

前向纠错FEC算法实现原理

前向纠错FEC算法实现原理

前向纠错算法介绍

前向纠错(FEC)算法被广泛使用在实时音视频领域提升音视频的弱网抗性,只要收到FEC分组内的冗余包和一定数量的数据包,就能根据FEC算法恢复出对应的冗余包。常见的FEC实现包括M+1系列的异或算法、M+N系列的RS矩阵算法,这2种实现算法各有优缺点。

异或算法实现相对简[……]

继续阅读

C++智能指针使用的那些事

C++智能指针使用的那些事

指针指针的由来

在C/C++里面,内存管理由开发者自己管理。指针变量总是指向一片内存空间,这片内存空间可以是局部变量、也可以是通过malloc、new申请的。如果申请的内存没有释放,就会导致内存泄漏。最终因为内存耗尽,服务被操作系统OM掉

为了解决内存泄漏的问题,Java提出了虚拟[……]

继续阅读

一次内存异常引发半夜加班带来的思考

一次内存异常引发半夜加班带来的思考

最近有个relay模块在线上进行紧急发布,一共600台机器半天之内发布完成。晚上6点开始手机就开始持续震动,realy模块信令都出现异常,用户进房间失败率突增。监控曲线上跑出了一个凹字形。赶紧回退realy模块恢复业务,同时开始紧急定位问题原因。

后台服务采用特定框架进行开发,在回退的过程[……]

继续阅读

为什么互联网行业总要加班 ?

为什么互联网行业总要加班 ?

最近在做一个领导比较重视的项目,由我和另外一个同事一起完成。期间发生了一些事情,让我想要聊聊互联网加班的一些事情。

工作三年,我发现身边90%以上的同事每天都要加班到很晚才回去,我也不例外。其实仔细思考来,加班主要是因为三点。

  • 需求太多、代码不熟,开发者评估时间不合理。
  • 缺乏对需求的深入理[……]

    继续阅读

实时音视频网络质量统计方法

实时音视频网络质量统计方法

网络质量指标重要性

在实时音视频领域,VoIP通话对于网络质量要求很高,系统必须能实时感知到网络质量变化,供上层应用及时调整码率,降低网络质量进一步恶化的风险。衡量用户的网络质量可以通过丢包、延时、抖动、带宽、吞吐量这些指标。本文重点介绍丢包、延时、和抖动的统计方法。

丢包率的含义与计算[……]

继续阅读