客户端
taozhua
这个作者很懒,什么都没留下…
展开
-
libevent编译
1 zlibc编译2、libevent编译nmake /f Makefile.nmake解决办法---------------------------、原创 2021-04-03 23:20:44 · 269 阅读 · 1 评论 -
即时通信框架
接入层:如何处理 recv最常见的模型: reactor、redis 模型 : 1线程监听 + 1个线程里面进行 recv + process +send (小量数据,存内存操作)1线程监听 + 连接socket 放入到线程池中处理 多进程 (nignix) 多个进程监听同一个fd 多线程 比较稳定 memcahed 1个线程监听 + 连接socket 按照一定的算法分配到不同的reactor中 ,.原创 2020-11-30 20:49:57 · 615 阅读 · 0 评论 -
Poco 的定时器
Util /Timer1、 类似于windows的定时任务管理器,底层使用 线程 + 队列 实现 ,同时支持多个函数但是一旦cannel后,定时器就无法使用了(原因如下),但是 线程和队列 还存储,与Timer的生命周期一致,Foundtion/Timer使用线程池中线程 只能关联一个函数 ,一旦停止,也无法再使用,线程也可能会被回收锁相关...原创 2020-11-27 21:37:14 · 605 阅读 · 0 评论 -
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 · 1313 阅读 · 0 评论 -
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 · 209 阅读 · 0 评论 -
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 · 98 阅读 · 0 评论 -
常见网络通信多线程模型
常见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 · 206 阅读 · 0 评论 -
高性能定时器
1、时间轮2、最小堆原创 2020-09-24 16:58:26 · 80 阅读 · 0 评论 -
进程间调用常用函数
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 · 1254 阅读 · 0 评论 -
用户态与内核态相互调用
1、system 调用 system 的程序2、system 调用 用户 的程序3、用户名 调用system的程序原创 2020-09-15 22:52:16 · 386 阅读 · 0 评论 -
客户端以管理员权限运行
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 · 597 阅读 · 0 评论