E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
网络库
muduo
网络库
net篇四:TCP(1)
这几天有去面试,回来之后,懈怠了。接着阅读代码吧!TcpClient类TcpClient类主要成员数据:EventLoop*loop_;ConnectorPtrconnector_;//avoidrevealingConnectorConnectionCallbackconnectionCallback_;MessageCallbackmessageCallback_;WriteCompleteC
视此虽近_邈若山河
·
2020-08-16 11:22
muduo网络库
muduo
网络库
——日志
muduo
网络库
也不例外。日志级别日志一般有5个正常级别:WARN警告信息表明潜在错误。
shenmingik
·
2020-08-16 11:21
剖析moduo网络库
muduo
网络库
——noncopyable.h
从这里开始就是剖析muduo
网络库
项目了。出发!!!!noncopy.h这个头文件时其他类的基类。
shenmingik
·
2020-08-16 11:21
剖析moduo网络库
Muduo
网络库
源码分析(二) 定时器TimeQueue,Timer,TimerId
首先,我们先要明白为什么需要设计这样一个定时器类?在开发Linux网络程序时,通常需要维护多个定时器,如维护客户端心跳时间、检查多个数据包的超时重传等。如果采用linux的SIGALARM信号实现,则会带来较大的系统开销,且不便于管理。Muduo的TimerQueue采用了最简单的实现(链表)来管理定时器,它的效率比不上常见的binaryheap的做法,如果程序中大量(10个以上)使用重复触发的定
YongApple
·
2020-08-16 10:22
muduo
muduo
网络库
学习之Timestamp类、AtomicIntegerT 类封装中的知识点
一、Timestamp类封装classTimestamp:publicmuduo::copyable,publicboost::less_than_comparable类图如下:值语义:可以拷贝,拷贝之后,与原对象脱离关系对象语义:要么是不能拷贝;要么可以拷贝,拷贝之后与原对象仍然存在一定的关系,比如共享底层资源两者之间的关系参见这里。1、muduo::copyable空基类,标识类,值类型2、l
s1mba
·
2020-08-16 10:43
muduo网络库学习
muduo
网络库
源码复现笔记(十九):TimeQueue定时器
Muduo
网络库
简介muduo是一个基于Reactor模式的现代C++
网络库
,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 10:10
muduo
muduo
网络库
学习笔记(1):Timestamp类
muduo
网络库
对时间戳Timestamp类也进行了封装。
li27z
·
2020-08-16 10:38
muduo
muduo
网络库
定时器的实现
一:函数介绍常见的与时间相关的函数有:sleep,alarm,usleep,nanosleep,clock_nanosleep,gettimer/settitimer,timer_create/timer_settime/timer_gettime/timer_delete,还有muduo使用的timerfd_create/timerfd_gettime/timerfd_settime函数。为什么
FreeeLinux
·
2020-08-16 10:33
Muduo源码剖析
muduo源码剖析
muduo
网络库
——Timestamp
这个类主要是获取当前时间,以及把当前时间转换为字符串打印出来。Timestamp.h#pragmaonce#includeclassTimestamp{public:Timestamp();explicitTimestamp(int64_tmicroSecondsSinceEpoch);//获取当前时间staticTimestampnow();//int64转换为字符串std::stringtoS
shenmingik
·
2020-08-16 10:16
剖析moduo网络库
Linux——文件系统及相关操作命令
唉,本来想这阵子把muduo
网络库
剖析完。但是最近受了伤,去医院耽搁了。结果就是。。。muduo还没整完。今天先完成一下之前欠的债。Linux的文件体系磁盘为什么要讲磁盘呢?
shenmingik
·
2020-08-16 10:16
linux
linux
高性能图像处理服务器的实现(三)reactors in threads服务器模式中代码流程详解
在我的GitHub中上传了关于高性能图像处理服务器的
网络库
方面的代码,网址为:https://github.com/zk3326312/ZK_ImageServer/tree/master/net,整个框架为
曾柯
·
2020-08-16 10:32
图像处理服务器
c
服务器
reactor
非阻塞IO
网络
muduo net库学习笔记4——事件驱动循环EventLoop、runInLoop和queueInLoop及对应唤醒
首先总体情况:每个muduo
网络库
有一个事件驱动循环线程池EventLoopThreadPool,线程池用在事件驱动循环上层,也就是事件驱动循环是线程池中的一个线程每个TcpServer对应一个事件驱动循环线程池每个线程池中有多个事件驱动线程
听说西佳佳难得很
·
2020-08-16 00:37
muduo源码
[C语言]基于TCP的基本C/S模型
服务端>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#include//
网络库
函数#include//C的voidmain(){WORDwVersionRequested
pliori
·
2020-08-16 00:26
编程低手
evpp
网络库
代码分析(二)
上图是盗用自《Linux多线程服务端编程,使用muduoC++
网络库
》一书6.6.2章节(以及下面的时序图也是盗用该书的图)。
mkelehk
·
2020-08-15 23:59
TCP/IP网络
学习开源
网络库
muduo的一点心得
最近这一周在学习陈硕的muduo
网络库
。里面用到了好多回调函数,现在看到第八章,把其中核心的网络模型梳理了一下。
limwz
·
2020-08-15 17:55
muduo
Android高级面试 10大开源框架源码解析
1-1课前必读(不看会错过一个亿)1-2课程导学第2章Okhttp
网络库
深入解析和相关面试题分
weixin_30252155
·
2020-08-15 16:37
Retrofit的Cookie操作方案
一般用于后台和客户端数据访问的有效保证,由服务端创建,客户端保存,客户端访问时将Cookie保存在请求数据header里面,服务端收到访问请求后,解析出header的库,对本次请求进行有效的验证Retrofit+Cookie移动端
网络库
一般都是用
jackzhous_
·
2020-08-15 14:55
android
RestHttp
RestHttp项目地址:RestHttp简介:Android基于HttpURLConnection简单易用的
网络库
,支持Http,Https,Http文件上传,图片加载,面向接口的API调用方式,轻量的设计风格
Wei_Leng
·
2020-08-15 11:03
Android
自定义控件进阶
Android Open-source Lib
基本
网络库
。libxml2:大名鼎鼎得xml解析库。opencore:多媒体播放引擎架构库。官网speex:Speex是一套专门用于压缩声音的库,由于其专门针对声音,所以压缩声音的性能非常高,官
cs_21cn
·
2020-08-15 10:04
linux
Retrofit:基于OkHttp的RESTful风格API的网络框架封装
Retrofit是Square公司基于RESTful风格推出的网络框架封装Retrofit与OKHttp的关系:Retrofit是基于OKHttp的网络请求框架的二次封装,其本质仍是OKHttp与其他
网络库
的对比
汪喆_Jack
·
2020-08-15 10:33
Android相关
Python urllib、urllib2、urllib3用法及区别
简介1在可供使用的
网络库
中,urllib和urllib2可能是投入产出比最高的两个,是Python中操作url的官方标准库。它们让你能够通过网络访问文件,就像这些文件位于你的计算机中一样。
IoneFine
·
2020-08-15 06:54
#
Python
urllib
urllib2
urllib3
python
buddypress主题_BuddyPress入门指南:提示和资源
BuddyPress本身几乎是一个庞大的社交
网络库
,恰好在WordPress核心之外运行。在本文中,我们可以窥见新加入的BuddyPress用户的十个有用技巧。我将重点
cune1359
·
2020-08-14 23:41
从零开始学写HTTP服务器(六)使用muduo
网络库
muduo源码中内嵌了一个简单的HTTPserver程序,源码见muduo/net/http。看了源码之后受益匪浅。muduo里面的HttpServer目前只支持GET和HEAD方法,获取资源的Content-Type在源代码中写死,本文主要就是添加了一个读取mime.type的功能。希望之后能继续扩展这个简单的HttpServer,支持CGI和POST。(一)HttpServer跟简单的echo
NearXDU
·
2020-08-14 22:38
Http协议
开源库muduo学习-总结篇
首先感谢原著陈硕大牛的奉献,使我对TCP网络编程加深认识,清楚了多线程编程模型及适用范围,现代C++资源管理,事件回调的用法;木铎是一个开源的tcp
网络库
,帮助我们实现底层TCP逻辑,我们只需关注业务逻辑的实现即可
小媛媛呦
·
2020-08-14 22:24
muduo
网络库
net篇二:定时器
Timer、TimerId类Timer类主要成员数据:constTimerCallbackcallback_;//回调函数Timestampexpiration_;//定时器超时时间constdoubleinterval_;//定时器超时时间constboolrepeat_;//interval_>0constint64_tsequence_;//定时器IdTimer类提供定时器回调函数,管理定时
视此虽近_邈若山河
·
2020-08-14 22:34
muduo网络库
muduo
网络库
base篇五:进程信息 文件 日志
进程信息获取/proc/seft文件夹各文件中数据参数及系统参数文件ReadSmallFile类读取文件数据到缓冲区mutex_;time_tstartOfPeriod_;time_tlastRoll_;time_tlastFlush_;boost::scoped_ptrfile_;conststaticintkRollPerSeconds_=60*60*24;//一天默认是线程安全的写文件(利用
视此虽近_邈若山河
·
2020-08-14 22:34
muduo网络库
muduo
网络库
base篇一: 大纲
上周我选择性的读了Linux/UNIX系统编程手册大部分章节,想更深入了解linux系统编程。作为一个知乎深度受害者,在知乎你读过的最好的C++开源代码是什么?问题下,看到有人提到muduo。离职也快两周了,为了下份工作充充电,作为多年没撸过C++代码的渣渣,硬着头皮开启了膜拜大师之旅。闲言少叙……我用了两天时间读了base部分代码,按照阅读顺序,主要内容如下:1.基础类2.时间日期3.异常类4.
视此虽近_邈若山河
·
2020-08-14 22:33
muduo网络库
muduo基础库
muduo是一个高质量的Reactor
网络库
,采用oneloopperthread+threadpool架构实现,代码简洁,逻辑清晰,是学习网络编程的很好的典范。
哆啦尼可夫
·
2020-08-14 22:28
muduo源码
muduo
网络库
学习之EventLoop(一):事件循环类图简介
番外TCP网络编程本质TCP网络编程最本质是的处理三个半事件连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接连接断开:主动断开(close、shutdown),被动断开(read返回0)消息到达:文件描述符可读消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件;这里的发送完毕是指数据写入操作系统缓冲区,将由TCP协议栈负责数据的发送与重传,不代表对方已经
哆啦尼可夫
·
2020-08-14 22:28
muduo源码
muduo
网络库
:线程池的实现
线程池问题本质上也是一个生产者-消费者问题外部线程可以向线程池中的任务队列添加任务,相当于“生产者”;一旦任务队列中有任务,就唤醒线程队列中的线程来执行这些任务,这些线程就相当于“消费者”。模型如下图。muduoThreadPool类图:任务队列的实现用到了STL的deque容器deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器
月光骆驼
·
2020-08-14 21:28
muduo网络库
muduo
网络库
:Reactor模型的介绍
首先我们先了解几个问题:多线程能提高并发度吗?如果指的是“并发连接数”,那么不能。假如单纯采用threadperconnection的模型,对于32位linux,一个进程的地址空间是4G,其中用户态能访问3G左右,而一个线程的默认栈大小为10M,心算可以得到,一个进程大约最多能同时启动300个线程左右,这远远低于基于事件单线程程序所能轻松达到的并发连接数(几千上万,甚至几万)。所谓“基于事件”,指
月光骆驼
·
2020-08-14 21:28
muduo网络库
muduo
网络库
源码解析(8):EventLoopThreadPool与EventLoopThread
muduo
网络库
源码解析(1):多线程异步日志库(上)muduo
网络库
源码解析(2):多线程异步日志库(中)muduo
网络库
源码解析(3):多线程异步日志库(下)muduo
网络库
源码解析(4):TimerQueue
一个划水的人
·
2020-08-14 21:18
muduo网络库源码解析
Reactor模式解析——muduo
网络库
最近一段时间阅读了muduo源码,读完的感受有一个感受就是有点乱。当然不是说代码乱,是我可能还没有完全消化和理解。为了更好的学习这个库,还是要来写一些东西促进一下。我一边读一边尝试在一些地方改用c++11的新特性,这个工作持续在进行中。为啥这么干?没什么理由,纯粹是为了学习。注:本文的大部分代码和图文都来自《Linux多线程服务端编程》,可直接参考muduo的源码,或者参考我这里抄着玩儿的版本。R
weixin_34389926
·
2020-08-14 21:22
muduo 与 libevent2 吞吐量对照
libevent是一款很好用的C语言
网络库
,它也採用Reactor模型,正好能够与muduo做一对照。
weixin_34008933
·
2020-08-14 20:08
360 evpp现代化C++11高性能TCP UDP HTTP
网络库
2019独角兽企业重金招聘Python工程师标准>>>1安装方法,源码包有说明:https://github.com/Qihoo360/evpp----------------------------------------------------------------------------------------------------------------2tcp回声服务器(官方示例)#
weixin_33968104
·
2020-08-14 20:04
muduo学习笔记(六) 多线程的TcpServer
TcpServerEventLoopThreadPool线程池设计模式muduo中的使用连接的建立、消息、销毁on_connectionon_messageon_close简单透传服务实现@前言前面文章介绍了muduo
网络库
的单线程设计方式
weixin_30917213
·
2020-08-14 20:29
muduo
网络库
第一个例子echo的编译
1.下载moduo
网络库
https://github.com/chenshuo/muduo2.解压方式一:把文件解压到当前目录下unziptest.zip方式二:如果要把文件解压到指定的目录下,需要用到
weixin_30711917
·
2020-08-14 20:41
TCP
网络库
:Acceptor、TcpServer、TcpConnection
Acceptor类:用于接收新的TCP连接,该类是内部class,供TcpServer使用,生命期由TcpServer控制类成员:classAcceptor:boost::noncopyable{public:typedefboost::functionNewConnectionCallback;Acceptor(EventLoop*loop,constInetAddress&listenAddr
weixin_30551947
·
2020-08-14 20:57
muduo
网络库
学习笔记(五) 链接器Connector与监听器Acceptor
目录muduo
网络库
学习笔记(五)链接器Connector与监听器AcceptorConnector系统函数connect处理非阻塞connect的步骤:Connetor时序图Acceptor系统函数acceptSocket
335046781
·
2020-08-14 20:13
muduo
网络库
的快速学习方法
muduo是由陈硕开发的一个Linux多线程
网络库
,采用了很多新的Linux特性,项目代码量不到5000行,性能也不错。是难得的一个既能用来学习,也可以在实际生产环境中使用的
网络库
。
阿龙哥哥
·
2020-08-14 20:54
c++
muduo
学习
moduo
网络库
的reactor模式(上)
moduo
网络库
的reactor模式moduo
网络库
的reactor模式基本构成为“non-blockingI/O+I/Omultiplexing”,程序的基本结构是一个事件循环(eventloop),
baddy你个小菜鸡
·
2020-08-14 20:18
linux网络编程
moduo
网络库
的reactor模式(下):实现非阻塞TCP网络
1、在reactor框架下加入tcpUnix下的tcp连接也是经由socket文件描述符(sockfd)实现的。此节只是封装了listeningsockefd进行监听(accept(2)),得到的新连接(普通sockfd)直接提供给用户让用户自行处理。下一节才进一步地将得到的新连接也封装起来。1.1、首先将unix下的socket调用api简易封装成Socket类,得到wapper。即将api调用
baddy你个小菜鸡
·
2020-08-14 20:18
linux网络编程
开源
网络库
的分析libevent muduo nginx ....
转自:http://blog.csdn.net/yusiguyuan/article/details/17340095每一个开源项目存在都有它的道理和意义,不同的思想有不同的优缺点。libevent:这是一个用纯C写的开源库,属于一个轻量级的网络中间件。其中用到的基本数据结构也是非常巧妙。展现反应堆模型的基本使用方法。不同的事件对应不容的处理方法。I/O定时信号。三种事件的处理单独分开,又通过事件
acmdream
·
2020-08-14 20:08
开源库
muduo
网络库
的编译和使用
项目地址:https://github.com/chenshuo/muduo/安装CMake$sudoapt-getinstallcmake安装boost$sudoapt-getinstalllibboostxxx-dev安装其他的一些库$sudoapt-getinstalllibcurl4-openssl-devlinc-ares-dev$sudoapt-getinstallprotobuf-c
涵涵YH
·
2020-08-14 20:33
Linux
C++
muduo
网络库
学习(九)日志类Logger和LogStream,将日志信息打印到屏幕
每一个成熟的项目都有大大小小的日志系统,在关键的地方打印日志信息,常用来跟踪程序运行,查找错误原因等,可以节省大量的debug时间muduo的日志信息有5个级别TRACE,细粒度最高的日志信息,打印的最详细DEBUG,细粒度级别上对调试有帮助的日志信息INFO,粗粒度级别上强调程序的运行信息WARN,程序能正常运行,但存在潜在风险的信息ERROR,执行出错,但不影响程序继续执行的错误信息FATAL
一个程序渣渣的小后院
·
2020-08-14 19:38
muduo源码学习
muduo网络库源码分析
muduo
网络库
学习(四)事件驱动循环EventLoop
muduo的设计采用高并发服务器框架中的oneloopperthread模式,即一个线程一个事件循环。这里的loop,其实就是muduo中的EventLoop,所以到目前为止,不管是Poller,Channel还是TimerQueue都仅仅是单线程下的任务,因为这些都依赖于EventLoop。这每一个EventLoop,其实也就是一个Reactor模型。而多线程体现在EventLoop的上层,即在
一个程序渣渣的小后院
·
2020-08-14 19:38
muduo源码学习
muduo网络库源码分析
[evpp/muduo/reactor] evpp事件驱动
网络库
整体架构梳理 2
序上一篇博文中,我们从用户使用的角度入手,对evpp中TCPServer、TCPClient两大类进行了梳理。接下来,我们再来分析梳理下Listener、Connector两个类的细节。当然,这让我联想起了杨宗纬的那首歌“如果你愿意一层一层一层地剥开我的心,你会发现你会讶异…”。扯得有点远,让我们进入正题。ListenerListener正如其名,主要是封装和TCPServerAccept连接相关
sai_j
·
2020-08-14 19:03
c++
linux
muduo
网络库
脉络分析(1)
转自:http://blog.csdn.net/shreck66/article/details/50945929去年看muduo
网络库
时没有总结博文,导致前段时间用muduo时发现好多东西都模模糊糊,
Barry__
·
2020-08-14 19:43
Linux服务器编程
muduo
muduo
网络库
源码剖析系列
1.muduo源码剖析专栏注:此系列来自于专栏:https://blog.csdn.net/FreeeLinux/column/info/13805muduo库的Socket封装muduo库的Acceptor类剖析muduo库的TcpServer和TcpConnection用法muduo应用层缓冲区设计muduo库TcpConnection对send、shutdown、SIGPIPE的处理mudu
Baymax_yan
·
2020-08-14 19:06
muduo
C++11 信号槽 signal/slot
此处应该@陈硕大大,《Linux多线程服务端编程:使用muduoC++
网络库
》。一、首先说一下shared_ptr的线程安全性,它的线程安全性级别和std::string是一样的。
p2016
·
2020-08-14 18:06
C++
多线程
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他