第 4 章 C++网络编程重难点解析

不积跬步无以至千里,不积小流无以成江海。

当我们了解了网络通信的基本原理后,你需要实际去编写一些网络通信程序,随着技术的更新换代、大浪淘沙,目前主要的网络通信技术都是基于 TCP/IP 协议栈的,对应到应用层的编码来说就是使用操作系统提供的 socket API 来编写网络通信程序。然而遗憾的是,拜各种网络库和开发 IDE 所赐,很多开发者或者网络编程的初学者都忽视了对这些基础的 socket API 的掌握。殊不知,操作系统层面提供的 API 会在相当长的时间内保持接口不变,一旦学成,终生受用。理解和掌握这些基础 socket API 不仅可以最大化地去定制各种网络通信框架,更不用说使用市面上流行的网络通信库了,最重要的是,它会是你排查各种网络疑难杂症坚实的技术保障。

本章目录

4.1 学习网络编程,你应该掌握哪些 socket 函数

4.2 TCP 网络通信的基本流程

4.3 设计跨平台网络通信库时需要注意的一些 socket 函数用法

4.4 bind 函数重难点分析

4.5 select 函数用法和原理.md

4.6 socket 的阻塞模式和非阻塞模式.md

4.7 发送 0 字节的数据是什么效果?.md

4.8 connect 函数在阻塞和非阻塞模式下的行为

4.9 连接时顺便接收第一组数据

4.10 如何获取当前 socket 对应的接收缓冲区中有多少数据可读

4.11 Linux EINTR 错误码

4.12 Linux SIGPIPE 信号

4.13 Linux poll 函数用法

4.14 Linux epoll 模型

4.15 高效的 readv 和 writev 函数

4.16 主机字节序和网络字节序

4.17 域名解析 API 介绍

上次更新: 2025/04/01, 20:53:14

社区交流

讨论与留言

前往 GitHub Issues →

本留言区仅对应当前文章,欢迎补充观点、提出问题或帮助修正文中疏漏。 留言由 GitHub/Gitalk 提供,需要使用 GitHub 登录。

最近更新
第 1 课:专栏导论与安全边界
07-01
第 3 课:安装编译与调试环境
07-01
第 4 课:第三方库下载、编译与依赖管理
07-01
更多文章>