![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++web服务器项目学习笔记
文章平均质量分 86
C++web服务器项目学习笔记
J-Yong
计算机专业在读研究生
展开
-
C++web服务器项目学习笔记-第5章 项目实战与总结
典型的一次IO的两个阶段是什么?数据就绪和数据读写数据就绪:根据系统lO操作的就绪状态(TCP接收缓冲区)阻塞:调用IO方法的线程进入阻塞状态非阻塞:不会改变线程的状态,通过返回值判断size == -1 出错了 (EINTR,EAGAIN,EWOULDBLOCK前面这几种都是正常情况,不是错误,编程的时候需要判断一下)size == 0 读取到数据的末尾,对方连接关闭size > 0 读取到了多少的数据。原创 2024-02-28 11:29:57 · 1107 阅读 · 0 评论 -
C++web服务器项目学习笔记-第4章 Linux网络编程
简介:优点:缺点:简介:优点:B/S 架构最大的优点是总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软 件就能实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能 使用。缺点:简介最初设计互联网络时,为了便于寻址以及层次化构造网络,每个 IP 地址包括两个标识码(ID),即网络 ID 和主机 ID。同一个物理网络上的所有主机都使用同一个网络 ID,网络上的一个主机(包括网络上工 作站,服务器和路由器等)有一个主机 ID 与其对应。 Internet原创 2024-02-28 11:24:37 · 1217 阅读 · 0 评论 -
C++web服务器项目学习笔记-第3章 Linux多线程开发
与进程(process)类似,线程 (thread) 是允许应用程序并发执行多个任务的一种机与进程制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多线程程序的一个特例,该进程只包含一个线程)进程是 CPU 分配资源的最小单位,线程是操作系统调度执行的最小单位。原创 2024-02-28 11:22:10 · 970 阅读 · 0 评论 -
C++web服务器项目学习笔记-第2章 Linux多进程开发
程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程:程序就是一个文件,进程是程序要运行系统给它分配的资源。程序是占用磁盘空间的,而进程只占用内存空间2.2 进程状态转换2.2.1 进程的状态进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换在三态模型中,进程状态分为三个基本状态,即就绪态,运行态,阻塞态。在五态模型中,进程分为新建态、就绪态,运行态,阻塞态,终止态。五态模型:命令 ,它用于显示当前系统上运行的所有进程的信息。以下是输出中各列的含义:通原创 2024-02-28 11:20:37 · 1154 阅读 · 0 评论 -
C++web服务器项目学习笔记-第1章 Linux系统编程入门
GCC 原名为 GNU C语言编译器 (GNU C Compiler)GCC (GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言译器。GNU 编译器套件包括 C、C++、Objective-C、Java、Ada 和 Go 语言前端,也包括了这些语言的库 (如 libstdc++,libgcj等)GCC 不仅支持 C 的许多“方言”,也可以区别不同的 C 语言标准,可以使用命令行选项来控制编译器在翻译源代码时应该遵循哪个 C 标准。原创 2024-02-28 11:09:15 · 674 阅读 · 0 评论 -
C++web服务器项目学习笔记-第0章 课程介绍
这门课程是牛客网的课程**《Linux高并发服务器开发》,并且在最后项目实战与总结中开发了C++高薪面试项目_牛客网 (nowcoder.com)为什么要学习这门课?参考书籍:前三本是Linux系统编程,后三本是Linux网络编程学完本课程以后,可以去看看Tomcat、Ngix服务器(它们都是Web服务器),看看它们的源码,是怎么实现的。原创 2024-02-27 17:07:30 · 398 阅读 · 0 评论