![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 56
AdolphLua
这个作者很懒,什么都没留下…
展开
-
The C10K problem翻译
如今的web服务器需要同时处理一万个以上的客户端了,难道不是吗?毕竟如今的网络是个big place了。 现在的计算机也很强大了,你只需要花大概$1200就可以买一个1000MHz的处理器,2G的内存, 1000Mbit/sec的网卡的机器。让我们来看看--20000个客户,每个为50KHz,100Kbyes和 50Kbit/sec,那么没有什么比为这两万个客户端的每个每秒从硬盘读取4千字节然转载 2016-04-26 22:14:40 · 707 阅读 · 0 评论 -
select和epoll的性能差别
select和epoll的性能差别select原理概述调用select时,会发生以下事情:1. 从用户空间拷贝fd_set到内核空间;2. 注册回调函数__pollwait;3. 遍历所有fd,对全部指定设备做一次poll(这里的poll是一个文件操作,它有两个参数,一个是文件fd本身,一个是当设备尚未就绪时调用的回调函数__pollwait, 这个函数把设备自己特有的等待队列传给内核,原创 2016-08-01 21:40:57 · 2923 阅读 · 1 评论 -
socket编程原理
1、问题的引入1) 普通的I/O操作过程:UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”转载 2016-07-02 19:41:37 · 1223 阅读 · 0 评论 -
从IP地址的扩展
参考文章:http://blog.csdn.net/hguisu/article/details/7449955使用TCP/IP协议进行网络应用开发的朋友首先要面对的就是对IP地址信息的处理。IP地址其实有三种不同的表示格式: 1)Ascii(网络点分字符串)- 2) 网络地址(32位无符号整形,网络字节序,大头) 3)主机地址 (主机字节序原创 2016-07-02 19:28:58 · 1816 阅读 · 0 评论 -
TCP的超时与重传
1.前言对每个连接, TCP管理4个不同的定时器。1.重传定时器适用于当希望收到另一端的确认。2.坚持(persist)定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口。3.保活(keepalive)定时器可检测到一个空闲连接的另一端何时崩溃或重启。4.2MSL定时器测量一个连接处于TIME_WAIT状态的时间。超时重传是TCP协议保证数据可靠性的一个重要机制,转载 2016-07-02 17:10:30 · 2377 阅读 · 0 评论 -
从TCP协议的原理来谈谈rst复位攻击
在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP的flag标志位里RST在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下RST攻击是怎么回事。1、TCP是什么?TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的字节流传输。我来用土语解释下上转载 2016-04-22 16:02:16 · 351 阅读 · 0 评论 -
高性能网络编程6--reactor反应堆与定时器管理
高性能网络编程--reactor反应堆与定时器管理http://blog.csdn.net/russell_tao/article/details/17452997分类: 技术分享(39) 版权声明:本文为博主原创文章,未经博主允许不得转载。反应堆开发模型被绝大多数高性能服务器所选择,上一篇所介绍的IO多路复用是它的实现基础。定时转载 2016-04-22 15:34:46 · 285 阅读 · 0 评论 -
数据接收中粘包及半包的处理
数据接收中粘包及半包的处理分类: ACE(4) 版权声明:本文为博主原创文章,未经博主允许不得转载。 在使用TCP协议的网络应用中,不可避免需要处理的一个问题就是半包和粘包的情况。 一种做法是在接收端设一个比较大的缓冲区,先将收到的数据包都放到缓冲区中,然后从该缓冲区中选取完整的数据包出来。该缓冲区的实现可以使用环形缓冲区进行优化,避转载 2016-04-22 14:40:18 · 380 阅读 · 0 评论 -
Nginx学习之十-超时管理(定时器事件)
Nginx学习之十-超时管理(定时器事件)转载地址:ttp://blog.csdn.net/xiajun07061225/article/details/9284543目录(?)[+]Nginx事件管理主要是网络事件和定时器事件。下面介绍定时器事件管理,即超时管理为什么要进行超时管理Nginx有必要对可能发生超时的事件进行统一管理,并在事件超时时作出相应转载 2016-04-17 16:20:50 · 260 阅读 · 0 评论 -
利用最小堆管理事件超时
利用最小堆管理事件超时引言:前面的一系列文章都在说了事件模型,也就是简单的做一个介绍,然后贴出了一些代码作为Demo,上次说到了在反应堆中的超时管理。今天就来说说关于利用最小堆来管理超时的问题。NOTICE:判断一个事件是否超时的方法是, 事件超时时间 减 当前时间 ,如果大于零,说明没有超时,如果小于零,说明该事件超时了。一般做法是怎样来管理所有的超时事件呢?以前的用法都是转载 2016-04-17 16:15:42 · 481 阅读 · 0 评论 -
Linux IO模式及 select、poll、epoll详解
转自:https://segmentfault.com/a/1190000003063859同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换转载 2016-05-11 18:27:30 · 325 阅读 · 0 评论 -
UDP协议进阶
UDP协议什么时候UDP比TCP通信更好?1. UDP协议有更加好的通讯速度2. 在一问一答的情况之下,包的次序无关 =>DNS3. 在网络状况不好情况之下,短连接可能比长连接有更好的体验,一问一答式的小数据量通讯,正是 TCP 的弱项我的思考:在UDP上实现一个带超时的请求回应机制,让业务层负责超时重发,可能比TCP效果更好,前提:单个请求或回应的包不应该过大,最好不要超过一个MTU,大概在原创 2016-08-02 11:44:50 · 465 阅读 · 0 评论