随笔分类 -  C/C++

tcpkill,干掉tcp连接
摘要:场景 当我们需要在不重启服务的情况下断开某一个TCP长连接时,tcpkill工具就非常有用。比如我们要测试某个长连接断开后程序自动重连的情况。 tcpkill安装 这个连接的作者改了一下tcpkill,使得更好用。 https://yq.aliyun.com/articles/59308 使用 就这 阅读全文

posted @ 2018-01-15 11:44 angry-baby 阅读(970) 评论(0) 推荐(0)

利用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)

使用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)

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)

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)

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)

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)

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

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

导航