42-IO 多路复用
1.概述早在学习《Linux环境编程笔记》的时候,我们已经把IO多路复用的知识系统的介绍了,它主要包括select、poll和epoll技术。如果你还没有熟练的掌握这些知识,请参考《Linux环境编程笔记》的第十二章,一共有9篇文章,希望你...
1.概述早在学习《Linux环境编程笔记》的时候,我们已经把IO多路复用的知识系统的介绍了,它主要包括select、poll和epoll技术。如果你还没有熟练的掌握这些知识,请参考《Linux环境编程笔记》的第十二章,一共有9篇文章,希望你...
1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitpull更新一下。本节程序所使用的程...
1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitpull更新一下。本节程序所使用的程...
本文解决上一篇文章遇见的bug.1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitpu...
在前面,我们使用了select改写了服务器,本文使用poll来改写服务器。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已...
拒绝服务型攻击(Denial-of-ServiceAttacks),简称dos攻击。它针对服务器漏洞,使用特殊手段消耗服务器资源,从而达到服务器无法正常为其它客户端提供正常服务的目的。是的,我们之前用select改写的服务器就存在漏洞。有没...
只有趟过各种坑,解决了各种离奇古怪的网络编程异常,才能一步一步的提升,其次再学习新的技术,就不会感觉困惑。前面的程序,我们只是先拿客户端进行了开刀,将其修改成了IO多路复用模型,因为它最简单。后面我还看到,即使这样很简单,但是还有很多很多的...
相信你学过前面的TCP协议也知道,里头的算法非常多,有些算法你可以开启,有些你可以关闭。比如你可以设置发送和接收缓冲区大小,也可以设置是否打开Nagle算法等等。这些是如何做到的呢?有很多方法可以用来获取和设置影响套接字的选项:getsoc...
使用epoll改写服务器,会让我们的程序变得更加简单、高效。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过...
SO_REUSEADDR是非常常用的选项之一,它有四个功能,我待会再写,接下来先看实验。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp....
开启本选项,将禁止Nagle算法。有关Nagle算法的细节,请参考《TCP协议(Nagle)》。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/...
SO_LINGER是相当复杂的选项之一,它主要影响close和shutdown函数的行为(参考man手册),为了方便讨论,后面我以close为例。在不同的平台上,SO_LINGER选项表现行为也不一样,不同的类unix系统不一样,windo...