socket连接池SocketPool分析(七):server连接池与client连接池
server连接池:我在 第一篇文章socket连接池SocketPool分析(一): 概述 当中说了,服务器端有成熟的one loop per thread模型来提供高并发,这点可以仔细阅读陈硕老师的书《Linux多线程服务端编程》,server端使用socket连接池是没有什
server连接池:我在 第一篇文章socket连接池SocketPool分析(一): 概述 当中说了,服务器端有成熟的one loop per thread模型来提供高并发,这点可以仔细阅读陈硕老师的书《Linux多线程服务端编程》,server端使用socket连接池是没有什
首先从unp_client当中把connect的socket打印出来看看我的epoll的代码都放在了str_cli()函数当中,这里不需要提到那个函数。 1234567891011121314int main(int argc, char** argv) { // 使
我最初实现的Accept函数是通过accept()函数获取socket描述符,再根据socket描述符构建出一个智能指针。 12345678910111213141516SocketObjPtr SocketObj::Accept() { if (sockFD_ ==
复习完了基础知识之后,现在就可以开始写一个socket连接控制的对象了。代码存在于我的github上:SocketPool socket_obj.h 12345678910111213141516171819202122232425262728293031323334353637
有关epoll来实现一个回显程序的源代码请参见SocketPool当中的gtest/unp_server和unp_client UNIX下5种可用的IO模型的区别:阻塞式IO 非阻塞式IO IO复用(select和epoll):也叫IO多路复用,也叫事件驱动。IO复用和IO多路复
我在大学当中学完了C++写的第一个程序除了hello world就是《UNPv1》当中发送消息的这个程序了。本来以为复习这本书的时间会非常快,但是没想到在复习UNP这本书的过程中,发现了很多自己读大学的时候遗漏的知识点,很多以前并不明朗的概念也清晰起来。下面对此做个总结。因为任何
从侯捷老师的池内春秋谈起记得侯捷老师的经典文章《池内春秋》讲的是内存池,由于当时内存价格昂贵,被称为是“CPU之外最宝贵的电脑硬件资源”,当我们直接使用new、malloc等API申请分配内存,缺点就是:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能,
最后附上一些我常用的脚本:软件安装完成之后设置为linux开机启动大多数linux发行版本提供了一个本地开机文件专门让系统管理员添加开机时候运行的脚本。脚本必须绝对路径。debian的本地开机文件是/etc/init.d/rc.local,redhat是/etc/rc.local
shell的语法shell函数定义shell函数有两种形式 123function name { commands} 123name() { commands} 要使用函数只需要name,而不需要括号,就是说不用name()
这三篇文章是我零散的20篇印象笔记的总结。 首先罗列一下脚本当中常用的命令记录一下使用命令的惯用方法,每个示例都很短小,不能作为命令的入门教程。 echo用法:echo在脚本当中是与用户做交互的,我一般常使用的echo用法是用于打印出颜色: 123echo -ne "\