暂无搜索历史
动态规划(Dynamic Programming),简称DP。动态规划的核心是依次解决子问题,通过状态转化得到最终的结果。也就是说,针对可以划分成若干子问题的问...
上一篇文章我们基本实现了高并发服务器所需的基础模块,通过TcpServer类可以快速搭建一个TCP服务器。我们的最终目的是使用这个高并发服务器去实现一些业务,那...
实现高并发服务器的基础是实现基于事件触发的Reactor模型,通过Reactor模型对事件进行统一管理。对此我们需要设计:
这个项目的目标是实现一个可以高效处理请求的服务器,那么对于这样的一个服务器要如何实现呢?
项目地址在这里: https://gitee.com/penggli_2_0/TcpServer
Reactor是反应堆模型,那么什么叫反应堆呢?反应堆可以理解为对应事件的管理容器!
在上一篇文章中我们搭建起了Reactor反应堆模型的基础框架,可以实现对数据接受。那么接下来就需要对数据进行处理之后发回。
到目前为止,我学习了计算机网络,了解了网络传输的过程,理解网络协议栈的层与层之间的关系。实践了使用TCP进行的网络编程,也了解了协议的编写,实际了http协议下...
这种说法是不准确的。我们定义的 struct epoll_event 是我们在用户空间中分配好的内存。势必还是需要将内核的数据拷贝到这个用户空间的内存中的。
之前提过的多路转接方案select和poll 都有致命缺点:底层都是暴力的遍历,效率不高! 对此,诞生出了epoll这个更好的方案!
我们对比一下select,select需要传入三个事件集,输入输出性参数,每次都会发生改变!所以才需要每次调用都要进行初始化。而poll使用一个结构体,对于这个...
上一篇文章我们讲解了五种IO模型的基本概念,并通过系统调用使用了非阻塞IO。 一般的服务器不会使用非阻塞IO,因为非阻塞IO非常耗费CPU资源,导致CPU发热...
通过网络通信的学习,我们能够理解网络通信的本质是进程间通信,而进程间通信的本质就是IO。
经过对计算机网络的学习,我们了解了网络通信的过程,熟悉了网络协议栈各个层的工作机制与作用。那么现在我们回过头来看一个问题:
NAT机制我们在解决IP地址不足的问题中提到过。为了解决IP地址不足的问题,采取了私有IP与公网IP的策略:
传输层协议提供一种策略保证通信的稳定性;网络层协议提供一种能力保证可以进行通信。数据链路层是用于两个设备(同一种数据链路节点)之间进行传递。
路由就是在复杂的网络结构中,找出一条通往终点的路线。 IP协议提供了保证主机A可以跨网络发送数据到主机B。跨网络过程中,需要经过不同的路由器的一次一次的转发才...
在我们的学校里,学生的学号都是精心设计过的:16位二进制数表示,前6位表示学院号,后10位表示学生号。假设有这样几个学院:
那么网络层是如何进行数据传输的呢?通过网络层协议,这里介绍IP协议: IP协议下,主要包含两部分:
这里我们使用之前实现的tcp_echo_server的客户端与服务端。 我们来看listen
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市