网络编程
SilentAssassin
If you wish for peace, prepare for war
展开
-
解析TCP之滑动窗口(动画演示)
概述滑动窗口实现了TCP流控制。首先明确滑动窗口的范畴:TCP是双工的协议,会话的双方都可以同时接收和发送数据。TCP会话的双方都各自维护一个发送窗口和一个接收窗口。各自的接收窗口大小取决于应用、系统、硬件的限制(TCP传输速率不能大于应用的数据处理速率)。各自的发送窗口则要求取决于对端通告的接收窗口,要求相同。滑动窗口解决的是流量控制的的问题,就是如果接收端和发送端对数据包的处理速度不同...原创 2018-07-14 20:07:13 · 68330 阅读 · 14 评论 -
TCP分段与IP分片
链路层的一个作用就是数据成帧,帧包括了head和data,而data有大小限制,就是常说的MTU,对以太网来说是1500字节。data包括了上层的网络层head和传输层head,这两个head共占了40字节,剩下的数据大小不能超过1460字节,也就是MMS。 分段 SegmentMSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。TCP协议...原创 2018-07-30 16:57:45 · 3181 阅读 · 0 评论 -
select poll epoll
Selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,select在socket编程中还是比较重要的。一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程...转载 2018-08-15 19:51:52 · 255 阅读 · 0 评论 -
libevent安装配置
Libevent的特点: 1. 基于事件驱动 2. 轻量级,源码精炼,不像ACE那样庞大臃肿 3. 跨平台 4. 支持多路I/O从网上下载安装包后放到目录解压,到libevent-2.1.8-stable目录下依次执行:./configuremakesudo make install编译完成的库文件在libevent-2.1.8-stable/.libs中,有libev...原创 2018-08-29 16:55:08 · 829 阅读 · 0 评论 -
window下apache安装和配置
下载32位: http://httpd.apache.org/ 64位: http://www.apachelounge.com/download/安装解压Apache2.4到F:\Apache2.4 修改文件F:\Apache2.4\conf\httpd.conf:服务根目录:ServerRoot的参数改为F:\Apache2.4服务端口号:Listen 80 修改...原创 2018-08-29 16:57:05 · 2157 阅读 · 0 评论 -
安装配置qt_eventdispatcher_libevent
QT默认的是使用select模型的,这种轮询方式非常慢。在高并发连接,我们需要epoll才能发挥linux服务器的性能. 安装qt_eventdispatcher_libevent下载安装包后,解压,找到src目录,用Qt打开pro工程,然后qmake, build。编译完成后,在lib文件夹里增加三个文件:pkgconfig目录,libeventdispatcher_libevent....原创 2018-08-29 16:57:40 · 968 阅读 · 0 评论