自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(84)
  • 收藏
  • 关注

转载 ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context

封装Redis发布订阅时,SUB时,又想探测具体Channel的状态,于是执行PUBSUB CHNNALES命令,报ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context 的错误。原因:发布订阅模式下不能共用一个TCP连接,也不能在其上面执行其他命令 only (P)SUBSCRIBE...

2018-12-18 16:57:00 2641

转载 RabbitMQ AMQP (高级消息队列协议)

目录 RabbitMQ AMQP (高级消息队列协议) Message Queue 简介 概念 基本组成 场景及作用 AMQP简介 模型架构 基础组件 AMQP-Rabbi...

2018-10-02 17:00:00 370

转载 Thrift 基础(C++ rpc )

一、thrift简介thrift是Facebook开源的一套rpc框架,目前被许多公司使用我理解的特点使用IDL语言生成多语言的实现代码,程序员只需要实现自己的业务逻辑支持序列化和反序列化操作,底层封装协议,传输模块以同步rpc调用为主,使用libevent evhttp支持http形式的异步调用rpc服务端线程安全,客户端大多数非线程安全相比protocol buffe...

2018-09-15 02:05:00 751

转载 freerdp服务器共享屏幕,skype lync终端显示黑屏的原因分析

问题描述:freerdp支持远程桌面共享协议rdp,使用freerdp与skype终端进行远程桌面共享时。发送1080p 视频数据时 skype终端显示黑屏经过分析,发现rdp协商参数大于一定值时,freerdp发送的共享数据,skype接收显示黑屏,此参数值为MaxRequstSize, 含义是图像数据更新所有分节的最大值,这个值需要尽量大。经测试当freerdp与sk...

2018-08-21 16:34:00 578

转载 rtp header

rtp协议基于udp传输,流媒体音视频数据被封装在rtp中,通过rtp协议进行实时的传输。一、rtp协议头格式The RTP header has a minimum size of 12 bytes. After the header, optional header extensions may be present. This is followed by the RT...

2018-08-14 11:52:00 160

转载 gdb调试正在运行的程序

1、ps aux | grep mxx.exe查找可执行程序的进程id2、gdb attach pidattach可执行程序的进程pid3、continue/c 或者continue or c当attach进程时,会停止进程的运行,这时使进程继续运行需要使用continue/c命令4、其他gdb操作(bt b watch etc..)现在可以使用其他gdb命...

2018-08-06 13:58:00 207

转载 记一次TCP重发接口调用的问题

问题描述:基于微软RDP协议,使用开源rdp库与微软skpye软件进行基于tcp的p2p通讯,由于rdp协议传输原始图片数据较大,调用公司内部ice p2p通讯接口处会导致失败。错误思路:一开始是怀疑开源库的问题,导致发送的图像数据格式不对,导致发送失败,怀疑是rdp协商的过程不一致,但是一开始协商是成功的,使用windows远程桌面也可以正常访问rpd server。于是仔细看了库...

2018-08-02 17:27:00 154

转载 pcm原始数据绘制

最近帮别人做了个东西,这里分享一下pcm原始数据绘图的思路1、pcm数据采样位数,根据采样位数选取适合自己绘图的采样点的数量2、计算出最大最小的的采样点的值差3、根据要显示pcm数据的控件宽高,根据pcm原始数据的在pcm数据的偏移计算出x坐标,根据pcm数据采样的数值大小计算出y坐标4、绘图,依次进行相邻数据点绘图以下是在Duilb中绘图的代码: 1 ...

2018-06-23 14:49:00 305

转载 C++程序员面试题目总结(涉及C++基础、多线程多进程、网络编程、数据结构与算法)...

说明:C++程序员面试题目总结(涉及C++基础知识、多线程多进程、TCP/IP网络编程、Linux操作、数据结构与算法)内容来自作者看过的帖子或者看过的文章,个人整理自互联网,如有侵权,请联系作者删除。作者为工作两年经验的C++程序员,因巩固知识体系,面试,梳理以往看到过的知识点,故总结如下相关题目,题目答案请自行google baidu,这里只提供题目。一、C++基础...

2018-06-06 00:22:00 337

转载 gdb命令调试技巧

gdb命令调试技巧一、信息显示1、显示gdb版本 (gdb) show version2、显示gdb版权 (gdb) show version or show warranty3、启动时不显示提示信息gdb -q exe 或者.bashrc 添加alias gdb="gdb -q",重启shell4、退出时不显示提示信息(gdb) set confirm off5、输出信息多时不会暂...

2018-03-23 17:32:00 352

转载 ubuntu生成core转储文件

1、ulimit -c 判断是否开启转储为0 则没有开启2、ulimit -c unlimited 设置转储core大小没有限制3、设置转储文件位置 echo "/var/core/%t-%e-%p-%c.core" > /proc/sys/kernel/core_pattern4、测试程序cpu_test1 int main(int argc, char...

2018-03-22 14:25:00 194

转载 Linux 线程占用CPU过高定位分析

今天朋友问我一个Linux程序CPU占用涨停了,该如何分析,CPU占用过高,模拟CPU占用过高的情况先上一段代码: 1 #include <iostream> 2 #include <thread> 3 #include <vector> 4 5 6 int main(int argc, char **argv)...

2018-03-21 16:55:00 178

转载 解决waveInOpen录音编译x64程序出错的问题

1、之前也碰到过x86程序升级为x64程序,关键点是类型大小的使用。之前同事碰到过一个用int表示指针的程序,程序改为x64会出错,找原因找了半天。2、今天我也碰到了,使用aveInOpen录音,升级程序为x64时,因为自己使用API的不规范,在waveInOpen和MicCallback哪里,参数使用了DWORD来转换指针,一开始是win32的,后来要升级,程序升级到x64...

2018-03-15 10:55:00 244

转载 Intel_CS_WebRTC 验证性测试

机器: Centos 7.2一、配置阿里云源1   wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo2 3   yum clean all4 5   yum makecache二、安装node.js6...

2018-03-08 11:06:00 122

转载 Reactor-反应器模式

Reactor模式:反应器模式,是高性能网络服务器中最为常用的一种模式,libevent,muduo,libuv等网络库都是以Reactor模式构建。Reactor模式由同步事件多路分解器和具体事件处理程序组成,同步事件多路分解器一般都是由操作系统支持,如支持IO复用的select,epoll,poll等,通过监听IO事件集合,根据事件类型将具体事件交由具体事件处理程序来处理...

2018-02-11 12:21:00 108

转载 Linux开发-makefile

makefile 介绍make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序。首先,我们用一个示例来说明makefile的书写规则。以便给大家一个感性认识。这个示例来源于gnu的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:1)如...

2018-01-24 12:23:00 95

转载 Linux中挂载Windows共享出来的目录

Windows中1.新建文件夹,创建共享目录右键文件夹,共享2.设置访问方式 Everyone,添加确认Linux-ubuntu中1.安装cifs#sudo apt-get install cifs-utils2.挂载SAMBA目录#sudo mount -t cifs //192.168.8.200/share_code /mnt/samba_code -o...

2018-01-22 17:14:00 102

转载 网络编程-开发注意要点

将近做了一年的网络编程,串口、USB通讯的开发,主要是负责处理具体的通讯逻辑,提供给C#和android等上层应用相关的API现总结一下具体网络编程需要注意的关键点,随着开发的深入,以后会不断增加:要点:一、网络编程框架的选择、选择原始socket,还是成熟的网络库boost asio,libevent,muduo,libuv,poco等。二、通讯模式选择TCP还是UDP,sok...

2017-12-06 14:19:00 89

转载 使用duilib开发简单的Window安装包

一、具体思路安装过程:安装包的制作包括资源文件的打包,资源文件打包到安装包exe中,安装的时候需要从exe中提取出对应的资源文件,然后解压文件安装到指定目录,然后就是对安装的可执行程序进行注册表的注册,以及快捷方式的注册。卸载过程:安装包安装时,通常会带有一个卸载程序,此程序的功能就是执行对安装程序目录文件的删除和注册表的清除。二、实现安装过程分为三部分实现,安装配置...

2017-11-18 16:42:00 97

转载 Duilib XML嵌套

duilib使用嵌套xml可以简化代码的书写,有利于模块化的页面布局分解,duilib库的xml嵌套主要有两种方式方式一、以创建控件的方式嵌套xml在CreateControl(LPCTSTR pstrClassname )中创建自定义的控件,并绑定到xml文件 1 CControlUI* FrameWnd::CreateControl( LPCTSTR pstrClas...

2017-11-18 00:56:00 110

转载 boost asio allocation

allocation演示了自定义异步操作的内存分配策略,因为asio在执行异步IO操作时会使用系统函数来动态分配内存,使用完后便立即释放掉;在IO操作密集的应用中,这种内存动态分配策略会较大地影响程序的整体性能。为了避免这个问题,可以在在应用程序中创建一个内存块供asio异步IO操作使用,异步IO操作通过自定义接口asio_handler_allocate和asio_handler...

2017-11-16 15:27:00 127

转载 windows共享虚拟机ubuntu目录

1)安装 sudo apt-get install samba2)配置文件vi /etc/samba/smb.conf 添加如下3)启动服务 sudo service smbd start4)windows访问共享目录\\192.168.91.130设置用户 需要这样设置 5)将root用户添加到samba用户当中smbpasswd -a root...

2017-11-12 15:14:00 78

转载 ubuntu16.04搭建ftp服务器

因为习惯了vs进行开发,所以对于Linux的代码编辑开发都在vs里面进行,通常我们都是ssh远程登录到Linux,使用ftp或者sftp共享Linux目录里面的文件方便对文件的共享,这里介绍一下在ubuntu16.04安装vsftpd的方法1)查看vsftpd的版本 2)apt-get安装vsftpd 3) 创建ftp的工作目录 4) 添加ftper用户并设置新增用户的密...

2017-11-12 03:26:00 116

转载 Linux 服务器开发常用命令操作

1)查看网络端口 netstat -na --ip2)查看特定应用程序进程 ps -ef | grep vsftp or ps aux | grep xxx.exe3)查看系统日志 vi /etc/var/syslog4)ubuntu完全卸载并删除配置文件 apt-get --purgeremove vsftpd apt-get update apt-get insta...

2017-11-11 20:57:00 65

转载 C++11 实现生产者消费者双缓冲

基础的生产者消费者模型,生产者向公共缓存区写入数据,消费者从公共缓存区读取数据进行处理,两个线程访问公共资源,加锁实现数据的一致性。通过加锁来实现 1 class Produce_1 { 2 public: 3 Produce_1(std::queue<int> * que_, std::mutex * mt_) { 4 m_m...

2017-11-09 23:06:00 349

转载 vs2010 编译 boost1.65.1

vs2010编译boos1.65.1注意选项vs2010 不支持 c99 ,string.c和debugger.c 变量定义顺序位置报错,改变顺序即可。debugger.c va_copy 在c89下无定义解决va_copy兼容性问题1 #ifndef va_copy2 #ifdef __va_copy3 #define va_copy __va_copy...

2017-10-30 15:39:00 99

转载 ubuntu16.04 配置opensips服务器并编译pjsip测试

一、版本相关1) ubuntu版本: 16.042) opensips版本:2.1.23) pjsip版本 :2.5.54) ffmpeg版本:3.3.45) sdl版本:2.06) vs版本:20157) x-lite 测试sip客户端软件二、编译pjsip1)、目录 pjlib\include\pj,把config_site_sample.h拷贝...

2017-10-27 09:59:00 362

转载 win10 Xshell配置时添加本地回环-添加过时硬件

CMD运行hdwwiz 驱动向导解决转载于:https://www.cnblogs.com/Forever-Kenlen-Ja/p/7724538.html

2017-10-24 17:00:00 507

转载 VS2017 编译 chromium和webrtc

chromium的编译和webrtc的编译方式相同,webrtc官网也是使用的chromium的编译文档。步骤一、跳 - 墙,先跳 - 墙这是第一步哟,chromium大概有10几个G,webrtc有6个G左右。步骤二、下载depot_tools,并配置环境变量,PATH下添加depot_tools的解压路径E:\src\depot_tools步骤三、cmd运行gclient...

2017-10-11 22:07:00 82

转载 lambda modern C++

Lambda expressions(since C++11)Syntax[captures]<tparams>(optional)(c++20)(params)specifiers(optional)exceptionattr->ret{body}(1)[ca...

2017-10-03 19:26:00 93

转载 vs2013 调试libevent 源码

自己内功的提升,无非是向前辈学习和修炼自身,对于编码也是如此,学习优秀的库只有从源代码学起,才能深刻理解库实现的来龙去脉,加深自己的理解,提升自己的功力。今天就介绍一下vs2013 下面调试libevent源码。不需要创建sln解决方案,只需要创建工程,包含源码目录即可源码调试。1、手工添加print-winsocke-errors.c文件,不然nmake编译的时候会报...

2017-09-06 21:58:00 114

转载 Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. 调用函数约...

Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function ...

2017-09-05 16:51:00 140

转载 value power two

1 /** 2 *topPower2 use to set unsigned int to power of two 3 *@param value input value 4 *@return return the value's of the value,if input 3 return 4, if input 4 return 4 5 */ 6 size...

2017-08-16 10:58:00 66

转载 jni使用javap查看java类方法签名

在Jni开发中,需要回调给java层数据,因此使用java的方法签名是必不可少的。快速定位java方法签名的方式:java方法签名由(函数参数列表)返回值组成。cmd运行:javap -s 字节码对应的类,显示方法签名:快速定位自定义的类的方法签名:找到编译生成的class字节码文件目录,javap -s xx.xx.x.xxxxx.class //.c...

2017-08-03 13:40:00 231

转载 android studio2.3.3 模拟器 Jni函数调用C++对象,lldb调试this指针和相关变量显示无效的原因...

android studio2.3.3 的版本中 Jni函数调用C++对象,对象调用相关的成员函数,lldb调试,变量跟踪窗口,this指针和相关变量显示无效的原因,但这些参数实际是有效的,只是debug lldb调试环境出错。原因是模拟器选择 x86 架构的就会出现问题模拟器选择arm 架构的 this指针就会正确显示,这个问题的原因还需要继续查找。所以...

2017-07-27 20:15:00 105

转载 JAVA JDK配置

windows环境变量配置JAVA_HOME:D:\Java\jdk1.8.0_131path: %JAVA_HOME%\bin;classpath: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;转载于:https://www.cnblogs.com/Forever-Kenlen-Ja/p/7150318.h...

2017-07-11 14:24:00 44

转载 jsoncpp的使用

开源代码地址 github:https://github.com/open-source-parsers/jsoncpp使用的时候直接包含.h和.cpp到项目中,也可以编译成lib库来使用。json简单字符串解析: 1 //简单Json 2 void Config1() 3 { 4 Json::Value root; 5 Json::Rea...

2017-07-05 19:08:00 66

转载 VS2015 +Qt5 串口工具

简单的小工具是VS2015 + Qt5.6.1实现的,界面部分是Qt实现,串口是封装的WinAPI,把串口收发模块封装成了个Serialport.dll 供Qt界面调用。由于VS2015需要UniversalCRT运行环境,因此把Qt编译成了静态的版本。一、串口收发是封装的Win32,单独封装成了一个Serialport.dll.包括串口通信类:class CSer...

2017-07-04 10:30:00 263

转载 VS2015 release模式下进行debug调试

有时候软件发布,又不得不调试其中的某个dll模块,这时候就需要在发布的release版本的软件中来调试其中的dll模块了。vs2015设置:1、Release模式下右键工作属性,选择C/C++,General下,Debug Infomation Format选择Program Database(/Zi)2、Optimization ,选择Optimization 选择No...

2017-06-26 14:02:00 293

转载 ++前置,后置++ 汇编角度效率比较

测试环境:VS2015内置类型(int举例):1 int a=0,i=0;2 a = i++;3 a = ++i; 1 int a=0,i=0; 2 00921DAB mov dword ptr [a],0 3 00921DB5 mov dword ptr [i],0 4 a = i+...

2017-06-26 13:45:00 78

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除