自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 html2pdf

一、html2pdfhttp://wkhtmltopdf.org/downloads.htmlwkhtmltox-0.12.6-1.msvc2015-win32二、pdf2docpython 调用word ,最低要求0ffice2013三、软件下载的良心网站http://www.downyi.com/downinfo/57456.html

2021-09-25 16:35:09 132

原创 libevent编译

1 zlibc编译2、libevent编译nmake /f Makefile.nmake解决办法---------------------------、

2021-04-03 23:20:44 240 1

原创 2021-03-24

2021-03-24 21:29:22 77

原创 即时通信框架

接入层:如何处理 recv最常见的模型: reactor、redis 模型 : 1线程监听 + 1个线程里面进行 recv + process +send (小量数据,存内存操作)1线程监听 + 连接socket 放入到线程池中处理 多进程 (nignix) 多个进程监听同一个fd 多线程 比较稳定 memcahed 1个线程监听 + 连接socket 按照一定的算法分配到不同的reactor中 ,.

2020-11-30 20:49:57 578

原创 Poco 的定时器

Util /Timer1、 类似于windows的定时任务管理器,底层使用 线程 + 队列 实现 ,同时支持多个函数但是一旦cannel后,定时器就无法使用了(原因如下),但是 线程和队列 还存储,与Timer的生命周期一致,Foundtion/Timer使用线程池中线程 只能关联一个函数 ,一旦停止,也无法再使用,线程也可能会被回收锁相关...

2020-11-27 21:37:14 542

原创 poco 时间转换

//字符串转时间 DateTimeParser::parse//时间转字符串 DateTimeFormatter::format//时间与整数转换 Timestamp//1整数转换成时间字符串 cout << "int to string" << endl; Poco::Timestamp ts = Poco::Timestamp::fromEpochTime(1516239022); std::string str = DateTimeFormatter::fo

2020-11-21 21:36:45 1237

原创 Reactor

网络通信

2020-10-25 21:17:03 96

原创 UDP 使用 Connect

UDPsendto/recvfromconnect --> send/recvconnect 好处:只能与连接的服务器通信,不能与其他人通信

2020-10-23 20:45:18 164

原创 4+1模型

4+1 模型围绕功能视图(story)进行 1、开发视图 代码架构,开源库、静态库动态库、c++ 或 java ,mysql 2、运行视图 进程间通信、消息队列 3、逻辑视图 类图、序列图 4、物理视图 部署图 ,windows、Linux ...

2020-10-23 20:41:23 524

原创 协议可靠性设计

协议可靠性设计1、ack机制2、重传机制3、序号机制4、流量控制(拥塞控制)线程池写法1、线程池任务队列 + n Worker(线程)初始话 创建Worker ,每个Worker 里面创建1个线程 ,线程运行后 , while(1) { 如果退出,就break 使用互斥锁 加上条件变量等待 如果有信号,队列中取任务,删除任务,执行任务 如果没有任务,则contiue

2020-10-22 22:45:51 145

原创 epool

epoll 由红黑树与链表组成为什么不用Hash ,hash 数组太大时,会引发扩容,导致拷贝epoll_create(int size) // 1~10000 一样的epoll_ctrl(epfd , EPOLL_CTL_MOD ,fd ,event)epoll_wait(epfd ,ioset ,length ,timeout)while(1){int nready = epoll_wait(efd ,ioset ,length ,timeout) ;for( int i = 0 ;

2020-10-19 21:18:14 176

原创 ubnutu 相关问题

1、安装服务sudo apt-get install openssh-server openssh-client 2、启动service ssh start具体可参考https://blog.csdn.net/laosun12/article/details/90413267

2020-09-24 21:15:14 77

原创 常见网络通信多线程模型

常见3种模型主线程 epool 负责 listen socket) ,有新的请求,通过hash 算法,将每个 accept socket 分配到 多个子线程的epool中,子线程负责wailt + send/recv (Poco 库的实现)主线程epool (listen + epoolwait) 负责所有socket 检测 ,线程池负责读写(send/recv)主线程listen , 子线程(linsten + wait + send /recv)...

2020-09-24 17:09:09 179

原创 高性能定时器

1、时间轮2、最小堆

2020-09-24 16:58:26 60

原创 进程间调用常用函数

1、异步 函数WIN32 API WinExec(“one.exe”, SW_SHOWNORMAL);第二个参数只是WinExec函数的参数,不是one.exe的参数。注意:第一个参数一定是ASCII2、同步函数system函数原型: int system(const char *command) 是C库函数注意:1)第一个参数为ASCII ,运行时会弹出黑框2) system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。3)如果调用进程的目录中含有空

2020-09-24 16:17:18 1133

原创 高性能定时器

时间轮

2020-09-22 20:51:58 91

原创 AES加解密

AES加解密

2020-09-18 21:25:42 96

原创 客户端以管理员权限运行

1)windows下exe以管理员权限运行在注册表“HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers” 下,新增字符串: “C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe”,值为 “~ RUNASADMIN” 。使devenv.exe获得管理员权限。参考https://www.cnb

2020-09-18 20:59:39 518

原创 活动方法 使用

主动对象分2种,1种是多个函数共用1个线程(线程+队列),1种的1个函数启动一个线程1、共用线程class ActiveObject: public ActiveDispatcher{ActiveMethod<int, int, ActiveObject, ActiveStarter< ActiveDispatcher> > testMethod;template <>class ActiveStarter<ActiveDispatcher>

2020-09-17 23:37:45 125

原创 用户态与内核态相互调用

1、system 调用 system 的程序2、system 调用 用户 的程序3、用户名 调用system的程序

2020-09-15 22:52:16 360

原创 连接池设计

连接池基于socket管理,长时间空闲会被防火墙切断,解决办法1、心跳机制,保活2、设置每个连接的最大空闲时间Poco::Net::SocketAddress sa(_host, _port);Poco::PoolableObjectFactory<Client, Client::Ptr> factory(sa);Poco::ObjectPool<Client, Client::Ptr> pool(factory, 10, 15);PooledConnection pc

2020-09-15 22:45:56 325

原创 POCO HTTPClientSession 结构

1、HttpSession 超时设置如果只设置1个值,那么是所有的,也可以分开设置void HTTPSession::setTimeout(const Poco::Timespan& timeout){ setTimeout(timeout, timeout, timeout);}void HTTPSession::setTimeout(const Poco::Timespan& connectionTimeout, const Poco::Timespan& se.

2020-09-14 23:43:36 1148

原创 soap xml 转 json

xml 解析分2中,1种的文档结构树 SAX ,1种是 DOM如果要求效率的话,使用 pugixml参考: https://blog.csdn.net/clever101/article/details/7521603带节点的soap xml 解析成 json<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml

2020-09-13 20:02:28 1549

原创 JSON与map 互转

DynamicStruct // 会排序 ,基于mapOrderedDynamicStruct / /不会排序 ,基于队列 dqueuetypedef Dynamic::Struct < std::string> DynamicStruct;typedef Dynamic::Struct<std::string, Poco::OrderedMap<std::string, Dynamic::Var>, Poco::Ordered

2020-09-13 17:22:26 812

原创 map相关数据结构比较

1、map 红黑书 ,如果结构体key 重载的话,需要重载 < 操作符2、unordered_map 基于hash ,如果 key 作为结构体,需要重载 == 操作符,并且重写hash函数struct ST{string strClass;string strNO;ST(const string& cs, const string&no):strClass(cs), strNO(no){}bool operator < (const ST& st)

2020-09-13 09:43:45 509

原创 JSON格式问题定位

1、JSON 本地格式化工具JsonView.exe ,无法识别错误的json格式,例如但是在网上可以 https://www.sojson.com

2020-09-12 17:59:51 1219

sqlite3.zip

test

2021-09-30

空空如也

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

TA关注的人

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