16、如何理解TCP的“流”你好,我是盛延敏,这里是网络编程实战第16讲,欢迎回来。 上一讲我们讲到了使用SO_REUSEADDR套接字选项,可以让服务器满足快速重启的需求。在这一讲里,我们回到数据的收发这个主题,谈一谈如何理解TCP的数据流特性。 TCP是一种流式协议在前面的...2026-03-01网络编程实战
15、怎么老是出现“地址已经被使用”你好,我是盛延敏,这里是网络编程实战的第15讲,欢迎回来。 上一讲我们讲到UDP也可以像TCP一样,使用connect方法,以快速获取异步错误的信息。在今天的内容里,我们将讨论服务器端程序重启时,地址被占用的原因和解决方法。 我们已经知道,网络编程中...2026-03-01网络编程实战
14、UDP也可以是“已连接”你好,我是盛延敏,这里是网络编程实战的第14讲,欢迎回来。 在前面的基础篇中,我们已经接触到了UDP数据报协议相关的知识,在我们的脑海里,已经深深印上了“UDP 等于无连接协议”的特性。那么看到这一讲的题目,你是不是觉得有点困惑?没关系,和我一起进入...2026-03-01网络编程实战
13、小数据包应对之策:理解TCP协议中的动态数据传输你好,我是盛延敏,这里是网络编程实战第13讲,欢迎回来。 在上一篇文章里,我在应用程序中模拟了TCP Keep-Alive机制,完成TCP心跳检测,达到发现不活跃连接的目的。在这一讲里,我们将从TCP角度看待数据流的发送和接收。 如果你学过计算机网络...2026-03-01网络编程实战
12、连接无效:使用Keep、Alive还是应用心跳来检测你好,我是盛延敏,这里是网络编程实战第12讲,欢迎回来。 上一篇文章中,我们讲到了如何使用close和shutdown来完成连接的关闭,在大多数情况下,我们会优选shutdown来完成对连接一个方向的关闭,待对端处理完之后,再完成另外一个方向的关闭。...2026-03-01网络编程实战
11、优雅地关闭还是粗暴地关闭你好,我是盛延敏,这里是网络编程实战第11讲,欢迎回来。 上一讲我们讲到了TCP的四次挥手,其中发起连接关闭的一方会有一段时间处于TIME_WAIT状态。那么究竟如何来发起连接关闭呢?这一讲我们就来讨论一下。 我们知道,一个TCP连接需要经过三次握手...2026-03-01网络编程实战