排序:
默认
按更新时间
按访问量

SCTP协议详解与实例

1.SCTP是什么?只要是接触过编程的人,当你问他传输层都有哪些协议?我想几乎很多人会说TCP,IP协议而很少有人知道SCTP(流控制传输协议)这个和上述俩个协议具有相同地位的协议。 SCTP提供的服务与TCP,UDP类似,或者甚至可以理解为其是TCP与UDP协议各自优点的组合后的产物。2.SC...

2016-03-31 18:24:13

阅读数:15322

评论数:3

muduo网络库脉络分析(2)

因为此篇博文是上篇博文的延续,所以读者在阅读此时最好能先去看一下muduo网络库脉络分析(1)Channel类其实在上篇博文讲完Acceptor类之后,我因该按照流程顺序接着讲TcpConnection类的,但是因为TcpConnection中包含一个很重要的类Channel类,之前讲时也都有设计...

2016-03-21 17:44:35

阅读数:1002

评论数:1

muduo网络库脉络分析(1)

去年看muduo网络库时没有总结博文,导致前段时间用muduo时发现好多东西都模模糊糊,于是就花时间又一次翻阅了muduo源码,并用此篇博文记录下其网络库整体脉络,以便是后来者入手起来更方便,同时也可用作自己以后复习的资料1.如何入手muduo库其实在这之前也没有尝试去分析一个网络库的总脉络,更没...

2016-03-21 13:54:42

阅读数:1569

评论数:4

解密:protobuf协议序列化后的变体

1.protobuf是干什么的protobuf为google公司出品,其全称为Protocol Buffers。关于其是什么网上一搜一大堆,但是初学者往往还是看的晕头转向。其实简单的概括protobuf的功能无非就是对结构化数据串行化。举个简单的小例子struct Person { int...

2016-03-18 20:15:10

阅读数:3948

评论数:1

一个高效的异步日志

假如让你自己去写一个日志程序,我想最原始且简单的想法因该是,首先将要写入日志文件的内容转化为字符串,然后调用write系统调用将其写入文件。这种实现方法的确就是我们程序最原始的日志方法。这种做法无疑是十分低效的,那么如何让我们的日志能够高效起来呢?本篇博文就是要给大家分享一种高效的日志–异步日志1...

2015-12-27 19:42:12

阅读数:6145

评论数:3

fastcgi协议分析与实例

1.序言最近在用c++实现一个简易web服务器。在实现之前大体理了一下一个web服务器主要咋样实现。当时单纯的认为只需要将浏览器发来的http请求解析,找到对应的文件,然后给浏览器一个响应,把其要获取的文件发给它就完事。可是写了没几天就遇到了瓶颈。因为我们的浏览器并不能解析动态的php文件,那么如...

2015-12-19 00:50:01

阅读数:5372

评论数:6

浅析linux服务端socket编程

记得大一第一次接触linux服务端编程时,当时看的1.Socket接口socket接口用来创建一个套接字描述符,函数定义如下int socket(int domain,int type,int protocol); //成功返回文件描述符,失败返回-1参数介绍: .domain指定使用哪...

2015-12-01 00:46:46

阅读数:1465

评论数:4

muduo网络库中buffer的设计

1.为什么非阻塞网络编程中应用层buffer是必须的非阻塞I/O(在这里可以理解为非阻塞I/O加T/O复用)的核心思想就是避免将当前线程阻塞在I/O系统调用上,这样可以使我们的I/O线程只阻塞在I/O复用函数上(epoll_wait或poll,select)使其能够服务更多的连接socket那么如...

2015-11-03 16:41:45

阅读数:2604

评论数:0

走进nginx事件驱动模型

最近在看阿里陶辉前辈写的”深入理解nginx”中的nginx的事件模块。之所以想看这块内容,是因为nginx可以处理庞大的并发连接,想看看支持其背后的事件驱动是如何构建的这篇博文我也不想贴代码什么的整一堆东西来讲述nginx事件驱动,一来我未必理解的那么透彻,而来这样反而更不易阅读者快速的掌握知识...

2016-01-13 11:58:52

阅读数:3313

评论数:1

muduo的reactor模式基本实现

这几天一直在看muduo的Eventloop(事件循环)这一块的源代码,感觉里面有好多东西例如:智能指针的使用,将eventfd,timerfd等linux新性能运用进去,C++一些容器的合理使用,还有如何能在多线程情况下减少锁的使用等都是我们应该学习的东西。关于muduo实现的reactor模式...

2015-11-14 23:11:10

阅读数:1677

评论数:0

linux新增特性timerfd

1.为什么要加入此定时器接口linux2.6.25版本新增了timerfd这个供用户程序使用的定时接口,这个接口基于文件描述符,当超时事件发生时,该文件描述符就变为可读。我首次接触这个新特性是在muduo网络库的定时器里看到的,那么新增一个这样的定时器接口有什么意义呢?要说明这个问题我得先给大家列...

2015-11-09 21:29:19

阅读数:2069

评论数:2

linux服务器编程之高效事件处理模式

当前网络主的设计模式共有俩中,即Reactor模式和Proactor模式。同步I/O模型(select,poll,epoll等)用来实现Reactor模式,而异步(aio_read或aio_write等)用来实现Proactor模式1.Reactor模式Reactor模式的基本设计思路是主线程只负...

2015-09-27 13:45:42

阅读数:1565

评论数:0

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