TeamTalk Base静态库说明
1. Teamtalk将一些基础模块编译成静态库供其他模块使用
- 这些基础模块主要包括:
slog模块
slog模块依赖于log4cxx,实际是对log4cxx的进一步封装。configure模块
该项目配置解析为ini配置简化版,基本逻辑是读取文本每一行数据判断是否是name=value结构,然后存入map<string name, string value>。UtilPdu模块
字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位,该模块实现了了字节流数据处理的一些工具类。IM_PduBase模块
用于TeamTalk通讯数据包的读取解析 依赖于UtilPdu工具类,依赖于protobuf第三方库EncDec模块
主要用于AES加解密和MD5计算threadpool模块
使用现有线程库(pthread.h)实现一个工作线程池,工作线程使用std::list实现任务队列,使用条件变量来解决生产者消费者的竞争问题Lock模块
使用pthread.h封装了普通锁、读写锁、普通局部锁和读写局部锁NetLib模块
主要用于处理tcp连接,自己实现了一个网络库HttpParser模块
TeamTalk http解析实际上是利用了ngnix的http_parse解析库。IMConn模块
利用netlib封装了一套比较通用的tcp连接基础类,业务类的连接像CLoginConn用于登录服务器连接和CHttpConn用于http连接等可继承该类重写实现自己的业务逻辑。HttpClient模块
HttpClient利用curl库和jsoncpp实现了http客户端Get/Post和语音数据的上传下载;http body主要为json格式,jsoncpp主要服务于该json数据的组装和解析。
2. 源码
链接:TeamTalk_BlueBling
TeamTalk Base静态库说明相关推荐
- iOS架构-静态库.a打包之资源文件打包成bundle(4)
iOS架构-静态库.a的打包及使用(一) iOS架构-静态库.a的脚本化打包及使用(二) 资源文件主要包括:xib.图片以及其他文件资源(json.string等).这里主要介绍 xib.图片.其他的 ...
- 【C/C++10】天气APP:MySQL/PostgreSQL,环境变量/动静态库,Linux/Oracle字符集
文章目录 1.MySQL:decimal,find . .-print 2.PostgreSQL:$ 3.环境变量:tnsnames.ora,curl 3.1 对单一用户生效: .bash_profi ...
- Cocoa/iPhone App/静态库 嵌入资源文件 rtb v0.1发布
At a glance 软件开发中,可能需要把用到的资源文件嵌入到二进制执行文件中,例如生成单个执行文件.防止机密或版权信息被PE工具查看或修改.嵌入图片资源到静态库中等等.在Mac OSX Coco ...
- MinGW下编译ffmpeg静态库给Visual C++使用
首先推荐 http://ffmpeg.zeranoe.com/builds/, 这里已经有编译好的动态连接库.可惜上面没静态链接库.我也试过 DLL2Lib, 但是无法连接LIBCMT库,只能使用MS ...
- Linux 动态库和静态库
From:http://blog.csdn.net/u010977122/article/details/52958330 From:http://blog.163.com/xychenbaihu@y ...
- 基础IO(文件接口、安装内核源码超详细步骤图解、静态库与动态库)
基础IO C语言的文件操作接口 fopen fclose fread fwrite fseek 系统调用文件接口 open close read write lseek 安装内核源码 文件描述符&am ...
- linux下静态库、动态库总结
一.基本概念 1.1.什么是库 在 windows 平台和 linux 平台下都大量存在着库. 本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行. 由 ...
- iOS创建framework静态库(SDK组件化)
一.创建 1.新建项目 打开Xcode,菜单:File – New – Project-,选择iOS – Framework – Next,取名比如MySDK,保存. 2.修改Schemes 菜单 P ...
- iOS xcode9中framework静态库的创建以及xib和图片的使用记录
来到了新公司,要开发的第一个项目据说可能要封成framework,可是我从来没自己做过framework呀!顿时开始发愤图强,赶紧恶补了起来.但是还是遇到了一些乱七八糟的情况,所以写个随笔记下来. 有 ...
- C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项
0. 引言 UNIX是一个注册商标,是要满足一大堆条件并且支付可观费用才能够被授权使用的一个操作系统.linux是unix的克隆版本,是由其创始人Linus和诸多世界知名的黑客手工打造的一个操作系统. ...
最新文章
- python list 深复制_Python中list的复制及深拷贝与浅拷贝探究
- Jsp之五 过滤器与监听器
- 流式计算框架Storm编程案例:实时给手机品牌转大写并加上时间戳后缀代码示例
- activemq中怎么知道推送消息是否成功_如何优雅的使用activeMQ 安装、应用、安全认证、持久化...
- ipc$远程连接计算机的指令,通过IPC$***,通过命令开启远程协助,。。
- java异步处理rest服务_异步处理rest服务
- 小程序block标签配合if和else 和 动态修改标题栏
- Doom启示录(一)---李乃峰所崇拜之 两个约翰!
- 详解 CatBoost 原理
- linkinfo() 函数
- vb.net 教程 20-3 控制Ie浏览器 3 获得Ie窗口句柄
- oracle如何导入用户数据文件,oracle的dmp数据文件的导出和导入以及创建用户
- MatlabR2018aWin 安装教程 (附文件)
- 电子通信、嵌入式工程师的面试指南
- 扎克伯格:Facebook不会把位置数据交给政府,哪怕是用于追踪新冠病毒!
- YOLO9000, Better, Faster, Stronger论文翻译——中文版
- TED(指technology, entertainment, design在英语中的缩写,即技术、娱乐、设计)
- 微信股票行情助手-微云助手发布微信群股票行情播报机器人助手
- 软件工程——面向对象需求分析方法——知识点总结
- html流星雨页面,纯CSS流星雨背景的示例代码