搜索结果

42-IO 多路复用

1.概述早在学习《Linux环境编程笔记》的时候,我们已经把IO多路复用的知识系统的介绍了,它主要包括select、poll和epoll技术。如果你还没有熟练的掌握这些知识,请参考《Linux环境编程笔记》的第十二章,一共有9篇文章,希望你...

44-批量输入异常

1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitpull更新一下。本节程序所使用的程...

43-使用 select 改进客户端

1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitpull更新一下。本节程序所使用的程...

45-批量输入异常处理(shutdown 函数)

本文解决上一篇文章遇见的bug.1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitpu...

49-使用 poll 改写服务器

在前面,我们使用了select改写了服务器,本文使用poll来改写服务器。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已...

48-拒绝服务型攻击(Denial-of-Service Attacks)

拒绝服务型攻击(Denial-of-ServiceAttacks),简称dos攻击。它针对服务器漏洞,使用特殊手段消耗服务器资源,从而达到服务器无法正常为其它客户端提供正常服务的目的。是的,我们之前用select改写的服务器就存在漏洞。有没...

47-将多进程并发服务器改成 IO 复用

只有趟过各种坑,解决了各种离奇古怪的网络编程异常,才能一步一步的提升,其次再学习新的技术,就不会感觉困惑。前面的程序,我们只是先拿客户端进行了开刀,将其修改成了IO多路复用模型,因为它最简单。后面我还看到,即使这样很简单,但是还有很多很多的...

51-套接字选项(概述)

相信你学过前面的TCP协议也知道,里头的算法非常多,有些算法你可以开启,有些你可以关闭。比如你可以设置发送和接收缓冲区大小,也可以设置是否打开Nagle算法等等。这些是如何做到的呢?有很多方法可以用来获取和设置影响套接字的选项:getsoc...

50-使用 epoll 改写服务器

使用epoll改写服务器,会让我们的程序变得更加简单、高效。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过...

53-套接字选项(SO_REUSEADDR)

SO_REUSEADDR是非常常用的选项之一,它有四个功能,我待会再写,接下来先看实验。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp....

55-套接字选项(TCP_NODELAY)

开启本选项,将禁止Nagle算法。有关Nagle算法的细节,请参考《TCP协议(Nagle)》。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/...

54-套接字选项(SO_LINGER)

SO_LINGER是相当复杂的选项之一,它主要影响close和shutdown函数的行为(参考man手册),为了方便讨论,后面我以close为例。在不同的平台上,SO_LINGER选项表现行为也不一样,不同的类unix系统不一样,windo...