12 2017 档案

centos7 ssh连接慢
摘要:指的是连接到centos7,输入密码后要等很久才会返回。之前很多人遇到的问题都是由于/etc/ssh/sshd_config的UseDNS配置项和GSSAPIAuthentication配置项引起的,我这里碰到的问题有所不同。 原因是dbus的服务重启后,systemd logind服务没有重启导致 阅读全文

posted @ 2017-12-25 14:33 angry-baby 阅读(224) 评论(0) 推荐(0)

【坑】https证书链不完整的坑
摘要:支付宝支付回调https失败,微信分享https连接在微信里打开空白,而chrome等浏览器访问正常。 是的,以上问题我作为半个运维在项目中遇到了,就是由于https证书链不完整引起的。 好吧,其实压根就不清楚什么证书链,什么证书链自行Google。 对于我们这样的小公司,一个域名一个证书一年怎么也 阅读全文

posted @ 2017-12-21 17:37 angry-baby 阅读(1726) 评论(0) 推荐(1)

mod_conference ESL控制三(程序)
摘要:第一篇描述了mod_conference控制原理,第二篇描述了conference相关事件,接下来对esl内联程序做简要说明。 由于event socket采用TCP协议,因此需要一个线程与freeswitch保持长连接,轮询相关事件并上报应用层;另外一个线程接受应用层命令,并控制freeswitc 阅读全文

posted @ 2017-12-21 10:52 angry-baby 阅读(660) 评论(0) 推荐(0)

freeswitch黑名单mod_blacklist使用
摘要:freeswitch自带黑名单模块“mod_blacklist”,此文只是对该模块简单使用的实例。 最近接到客户投诉有大量骚扰电话,而从源头查不太容易,因此想到的笨方法是将投诉人加入到黑名单。以下是mod_blacklist的使用例子: 1、安装mod_blacklist ,进入freeswitch 阅读全文

posted @ 2017-12-21 10:52 angry-baby 阅读(1507) 评论(0) 推荐(0)

mod_conference ESL控制二(事件)
摘要:根据上篇所述功能需求,esl需要处理以下几类事件: ESL_EVENT_CHANNEL_ channel相关事件,用户判断参会者是否应答、计费 DTMF事件 识别参会者按键,根据按键进行操作(静音相关) CUSTOM conference::maintenance mod_conference 相关 阅读全文

posted @ 2017-12-21 10:51 angry-baby 阅读(962) 评论(0) 推荐(0)

mod_conference ESL控制一(原理)
摘要:本文介绍通过freeswitch mod_conference 的配置和APP,以及如何通过这些事件实现会议控制。 需求 ESL内联,发起会议、加人、踢人、静音、恢复静音、申请发言、结束会议等基础功能;用户加入时放欢迎音,静音、恢复静音时语言提示。 首先介绍mod_conference 相关配置 c 阅读全文

posted @ 2017-12-21 10:49 angry-baby 阅读(1737) 评论(1) 推荐(1)

利用exosip DNS CACHE自定义SIP服务器地址和端口
摘要:文章标题可能表述不清,罢了,我这里描述一个场景: 当使用exosip开发UA时,服务器地址是域名example.com和端口形式,但存在两个限制: 1、example.com没有DNS记录、没有NAPTR记录,或者example.com的A记录地址不是真实的服务器地址,此时我们得自定义该地址; 2、 阅读全文

posted @ 2017-12-21 10:47 angry-baby 阅读(931) 评论(0) 推荐(0)

TLS编程
摘要:最近测试广州电信的电话会议平台,该平台接入采用HTTPS协议,于是有了本文。09年培训时写过一个简单的TLS C/S结构交互,采用openssl的ssl相关接口,但与生产相去胜远。本文采用openssl提供的BIO。 长链接还是短链接? 测试过程中发现长连接在一段时间内没有数据交互会被服务方释放,无 阅读全文

posted @ 2017-12-21 10:45 angry-baby 阅读(1095) 评论(0) 推荐(0)

parson json解析
摘要:最近交互数据中用到JSON数据,很多年以前用过CJSON解析和生成JSON数据,貌似CJSON已经发展成为了libjson,本打算用libjson库,不过其提供的解析JSON方式采用了回调,是测试过程中总是出错,无赖放弃。parson(http://www.oschina.net/p/parson) 阅读全文

posted @ 2017-12-21 10:43 angry-baby 阅读(1311) 评论(0) 推荐(0)

tinyxml2使用
摘要:项目中遇到一个问题,C/C++需要与JAVA通信,JAVA方已经使用了XML序列化传输。本可以考虑JSON/GOOGLE PROTOCOL BUFFER的,但为了使JAVA方不做过多改动,坚持使用XML。 JAVA中可以将object与xml互转,但C/C++中没有找到类似开源项目,自己实现不太现实 阅读全文

posted @ 2017-12-21 10:43 angry-baby 阅读(1017) 评论(0) 推荐(0)

使用libcurl作为Http client
摘要:产品通过HTTP协议为外部提供接口服务,常规情况是客户通过HTTP协议请求服务,服务结束后通过HTTP协议将服务记录POST到请求方。 用原生C实现了一个简单的HTTP Client,只有简单的功能: 1、实现HTTP GET/POST/PUT等方法; 2、POST支持参数和数据POST; 3、PO 阅读全文

posted @ 2017-12-21 10:42 angry-baby 阅读(841) 评论(0) 推荐(0)

编译Thrift支持golang
摘要:本文已经是很久以前的文章了,也不知道新版本thrift如何 Thrift是一个跨语言的服务部署框架,Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang 阅读全文

posted @ 2017-12-21 10:41 angry-baby 阅读(740) 评论(0) 推荐(0)

thrift使用案例
摘要:参考资料:http://www.ibm.com/developerworks/cn/java/j lo apachethrift/ 首先是定义thrift IDL接口,如下(SunTelTc.thrift): 生成对应代码 以c++为例,响应文件如下 以C++为例,修改服务器端代码(可选),修改Tc 阅读全文

posted @ 2017-12-21 10:39 angry-baby 阅读(795) 评论(0) 推荐(0)

基于hiredis,redis C客户端封装
摘要:项目中需要用到redis就封装了一下,基于hiredis,只封装了string和哈希的部分方法。编译时加入 D__USER_LOCK__添加线程安全。 suntelRedisCli.h suntelRedisCli.cpp include include include "suntelRedisCl 阅读全文

posted @ 2017-12-21 10:37 angry-baby 阅读(1722) 评论(0) 推荐(0)

golang 3des/ecb/cbc/pkcs5 加解密
摘要:本人新手,参考文档: http://blog.studygolang.com/2013/01/go%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86%E4%B9%8Bdes/ http://blog.csdn.net/scybs/article/details/38279159 阅读全文

posted @ 2017-12-21 10:36 angry-baby 阅读(1481) 评论(0) 推荐(0)

ortp 发送RTP实例
摘要:参考源代码目录src/tests/rtpsend.c 代码解读: 1、如果不手动调用rtp_session_set_local_addr设置本地RTP IP/PORT和RTCP PORT,ortp会自动选择可用端口; 2、rtp_session_set_connected_mode设置连接模式,如果 阅读全文

posted @ 2017-12-21 10:35 angry-baby 阅读(663) 评论(0) 推荐(0)

go:基于时间轮定时器方案
摘要:``` / http://blog.csdn.net/yueguanghaidao/article/details/46290539 修改内容:为定时器增加类型和参数属性,修改回调函数类型 / package timer import ( "container/list" "fmt" "sync" 阅读全文

posted @ 2017-12-21 10:34 angry-baby 阅读(1650) 评论(0) 推荐(0)

go服务运行框架go-svc
摘要:go svc:https://github.com/judwhite/go svc/svc go svc支持linux和windows,应用只需实现Service接口即可。 官方例子 package main import ( "log" "sync" "time" ) type server st 阅读全文

posted @ 2017-12-21 10:32 angry-baby 阅读(1477) 评论(0) 推荐(0)

golang相关网摘
摘要:1、golang开发50个坑 http://devs.cloudimmunity.com/gotchas and common mistakes in go golang/index.html mline_lit_comma 2、golang二进制序列化与内存对齐 https://www.zhihu 阅读全文

posted @ 2017-12-21 10:32 angry-baby 阅读(194) 评论(0) 推荐(0)

epoll c++封装
摘要:include "bfc_epoll_flow.h" CEPollFlow::CEPollFlow() { m_iEpollFD = 1; m_pEpollEvents = NULL; } CEPollFlow::~CEPollFlow() { if(m_pEpollEvents) { delete 阅读全文

posted @ 2017-12-21 10:31 angry-baby 阅读(383) 评论(0) 推荐(0)

golang channel 总结
摘要:1、未初始化的channel读,阻塞 package main import ( "fmt" "time" ) func main() { var ch chan int go check(ch) fmt.Println("main runtime end") time.Sleep(time.Sec 阅读全文

posted @ 2017-12-21 10:30 angry-baby 阅读(267) 评论(0) 推荐(0)

前端解析websocket数据问题
摘要:Send原型为:func (cd Codec) Send(ws Conn, v interface{}) (err error),参数v是一个接口,如果传入的是[]byte,websocket 的opcode为2(binary),如果传入的是string,opcode为1(string)。 当是bi 阅读全文

posted @ 2017-12-21 10:27 angry-baby 阅读(451) 评论(0) 推荐(0)

golang图片裁剪和缩略图生成
摘要:直接贴代码了 阅读全文

posted @ 2017-12-21 10:26 angry-baby 阅读(1793) 评论(0) 推荐(0)

libnsq编译、使用记录
摘要:官方介绍libnsq是nsq的c库,尼玛还真是c库,如果用g++编译还真编译不过。这篇文章就是说一下怎么在c++中使用libnsq。 为什么用g++编译不过libnsq呢,因为其头文件中默认全是c函数,没有对c++编译器做处理。 为了保持libnsq的完整性,不对libnsq代码作任何修改。 lib 阅读全文

posted @ 2017-12-21 10:25 angry-baby 阅读(567) 评论(0) 推荐(0)

c日志宏
摘要:仅供参考,不推荐 阅读全文

posted @ 2017-12-21 10:23 angry-baby 阅读(219) 评论(0) 推荐(0)

golang 六宫格、九宫格头像生成
摘要:图片示例就不传了,在原WordPress上。 以下是仿微信群头像 阅读全文

posted @ 2017-12-21 10:21 angry-baby 阅读(2525) 评论(2) 推荐(0)

使用httputil中ReverseProxy反向代理遇到的坑
摘要:坑描述,当POST ContentType=="application/x www form urlencoded"时,反向代理报错:http: proxy error: http: ContentLength=xx with Body length 0 即进行反向代理时,body为空,报错代码: 阅读全文

posted @ 2017-12-21 10:16 angry-baby 阅读(3570) 评论(0) 推荐(0)

Nginx反向代理与Backend直接配置长连接
摘要:使用了Nginx的反向代理配置如下: 无法与后端服务保持长连接,即时后端服务显示返回Connection:keep alive给nginx。 抓包发现:nginx默认使用了http1.0协议向后端转发请求,头中显示指定了Connection: close ,修改配置如下: 长连接生效。 PS:新版的 阅读全文

posted @ 2017-12-21 10:15 angry-baby 阅读(3386) 评论(0) 推荐(0)

openssl:AES CBC PKCS5 加解密 (C/GOLANG)
摘要:``` include / AES_CBC_PKCS5_Encrypt 入参: src:明文 srcLen:明文长度 key:密钥 长度只能是16/24/32字节 否则OPENSSL会对key进行截取或PKCS0填充 keyLen:密钥长度 outLen:密文长度 返回值: 密文 需要free / 阅读全文

posted @ 2017-12-21 10:13 angry-baby 阅读(2671) 评论(0) 推荐(0)

纯C:AES256
摘要:网摘,以备不时之需 阅读全文

posted @ 2017-12-21 10:11 angry-baby 阅读(1112) 评论(0) 推荐(0)

纯C MD5
摘要:网摘,以备不时之需 阅读全文

posted @ 2017-12-21 10:05 angry-baby 阅读(400) 评论(0) 推荐(0)

使用vendor管理go第三方包
摘要:安装verdor 记得将$GOPATH/bin加入PATH verdor使用 添加包 更新包 移除包 go 1.6版本以上则可以直接不编译,不用设置GO15VENDOREXPERIMENT=1,go会自动先找项目目录下verdor目录里的外部包。 包类别 状态|缩写状态|含义 | | +local| 阅读全文

posted @ 2017-12-21 10:01 angry-baby 阅读(3422) 评论(0) 推荐(0)

纯C:url base64
摘要:网摘,以备不时之需 阅读全文

posted @ 2017-12-21 10:00 angry-baby 阅读(300) 评论(0) 推荐(0)

使用NATS替换NSQ为后台服务解耦
摘要:简介 满世界的后台都在向微服务架构发展,我对微服务的理解是将一个复杂的业务分拆为多个服务,由多个服务协作完成一个服务;在后台微服务架构时需要考虑高可用、一致性等问题,也要考虑在实现上、编码上的复杂程度,大多同行采用消息服务中间件对服务进行解耦,微服务多个服务间通过消息中间件进行通信。当然有不少做法是 阅读全文

posted @ 2017-12-21 09:55 angry-baby 阅读(6212) 评论(0) 推荐(0)

centos7 firewalld基本使用
摘要:firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disable firewalld 禁用: systemctl stop firewalld 服务 systemct 阅读全文

posted @ 2017-12-21 09:46 angry-baby 阅读(196) 评论(0) 推荐(0)

PYTHON 定时器简单封装,基于SCHED
摘要:python fresher,轻拍。 在写后台服务时经常会遇到很多定时器的场景,threading.Timer类每实例化一个定时器会有一个新线程去执行,在客户端使用倒是没有问题,如果是服务器端定时器数量多了会影响性能。通常的做法是一个线程按照指定精度发出Ticker,然后检查有没有设置定时器,由则触 阅读全文

posted @ 2017-12-21 09:45 angry-baby 阅读(495) 评论(0) 推荐(0)

使用kcptun安全代理访问服务
摘要:KCP 是一个快速可靠协议,能以比 TCP浪费10% 20%的带宽的代价,换取平均延迟降低 30% 40%,且最大延迟降低三倍的传输效果。 KCP:https://github.com/skywind3000/kcp 目前已经有非常多的网络服务采用KCP,著名的有kcptun,dog tunnel, 阅读全文

posted @ 2017-12-21 09:34 angry-baby 阅读(699) 评论(0) 推荐(0)

导航